这是一个servlet实现的JMail.但是老是报错.
错误是(控制台打印出来的):
doGet()
doPost()
2008-9-17 17:43:24 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jmail threw exception
java.lang.NoClassDefFoundError: javax/activation/DataSource
at jmail.SendMail.doPost(SendMail.java:49)
at jmail.SendMail.doGet(SendMail.java:29)
下面是那个servlet:
package jmail;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.activation.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SendMail extends HttpServlet {
private static final String CONTENT_TYPE="text/html;charset=GB2312";
public void init() throws ServletException{
System.out.println("init()");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doGet()");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doPost()");
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
String smtpServer="163.com";
String mailTo="fly20051987@yahoo.com.cn";
String mailFrom="lqliw@yahoo.com.cn";
String subject ="自己的信件";
String body="内容为空的..";
Properties p=new Properties();
p.put("mail.transport.protocol", "smtp");
p.put("mail.smtp.host",smtpServer);
p.put("mail.mail.port", "25");
Session session=Session.getDefaultInstance(p);
Message mailMessage=new MimeMessage(session);
try {
mailMessage.setFrom(new InternetAddress(mailFrom));
mailMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo));
mailMessage.setSentDate(new Date());
mailMessage.setSubject(subject);
mailMessage.setText(body);
} catch (Exception e) {
System.out.println("ERROR错误!!");
e.printStackTrace();
}
Transport trans;
try {
trans=session.getTransport();
trans.send(mailMessage);
mailMessage.writeTo(System.out);
System.out.println("邮件已经成功发送到:"+mailTo);
17_0612_7C272AC.rar
} catch (Exception e) {
e.printStackTrace();
}
}
}
另有一个附件,也就是这个工程.
请朋友指点一下,不胜感激...