Ik ben bezig met een servlet die mail verstuurd. Alleen ik kom niet langs dit probleem. Ik krijg deze error:
java.lang.NoClassDefFoundError: javax/activation/DataSource
at hexindo.sendMail.perform(sendMail.java:60)
at hexindo.FormController.doPost(FormController.java:52)
at hexindo.Controller.doGet(Controller.java:25)
regel 60 is deze code:
verder heb ik de mail.jar in common/lib/ gezet van apache tomcat.
Dit is de code die de mail zou moeten versturen:
java.lang.NoClassDefFoundError: javax/activation/DataSource
at hexindo.sendMail.perform(sendMail.java:60)
at hexindo.FormController.doPost(FormController.java:52)
at hexindo.Controller.doGet(Controller.java:25)
regel 60 is deze code:
code:
1
| Message message = new MimeMessage(mailSession); |
verder heb ik de mail.jar in common/lib/ gezet van apache tomcat.
Dit is de code die de mail zou moeten versturen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| import javax.mail.*;
import javax.mail.internet.*;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
public class sendMail implements Action
{
DatabaseConnection db;
int mailServerPort = 22;
String mailServerName, subject, from, messageText;
public void perform (HttpServlet servlet, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
db = (DatabaseConnection)request.getAttribute("db");
mailServerName = "mail.hexindo-tbk.co.id";
subject = "Hallo dit is een test";
from = "Joost";
messageText = "test";
//Mail Properties zetten
Properties mailProps = new Properties();
mailProps.put("mail.smtp.host", mailServerName);
mailProps.put("mail.smtp.port", String.valueOf(mailServerPort));
System.out.println("Mail Props: " + mailProps);
//Sessie maken
Session mailSession = Session.getDefaultInstance(mailProps, null);
System.out.println("MailSesion: " + mailSession);
try{
//adress maken
InternetAddress fromAddr = new InternetAddress("Joost");
System.out.println("From adress: " + fromAddr);
InternetAddress toAddrs = new InternetAddress("joostnufan@hotmail.com");
System.out.println("To Adress: " + toAddrs);
//Message aanmaken
Message message = new MimeMessage(mailSession);
System.out.println("MimeMessage: " + message);
message.setFrom(fromAddr);
message.setRecipient(Message.RecipientType.TO, toAddrs);
message.setSubject(subject);
message.setContent(messageText.toString(), "text/plain");
//Mail versturen
Transport.send(message);
}
catch(AddressException aEx) {
System.out.println("Sending mail problem: " + aEx);
}
catch(ParseException pEx) {
System.out.println("Sending mail problem: " + pEx);
}
catch(Exception ex) {
System.out.println("Sending mail problem: " + ex);
}
forward("mailSend.jsp",request,response);
}
private void forward(String url, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
RequestDispatcher rd = request.getRequestDispatcher(url);
rd.forward(request,response);
}
} |