我用common-email-1.1.jar,mail.jar,activation.jar来进行发送邮件,实现一个类为QMail如下:
public class QMail {
public void sendCommonMail(String to, String subject, String content) {
SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.sina.com");
email.setAuthentication("lornssds", "429320");
email.setCharset("utf-8");
String from = "[email protected]";
try {
email.setFrom(from);
email.addTo(to);
email.setSubject(subject);
email.setMsg(content);
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws EmailException {
String to = "[email protected]";
String subject = "mail attachment 中文";
String content = "test anybody can here看看";
QMail qm = new QMail();
                qm.sendCommonMail(to,subject,content);
}
}
用的很好,但是我在另一个类里调用它,QMail qm = new QMail();
程序在执行到它的时候报错为:javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/mail/EmailException
可是已经写好了,郁闷中,谁能帮我看看,谢谢!

解决方案 »

  1.   

    检查一下classpath里有没有加入QMail类所在的包。
      

  2.   

    这是一个web project,我将以前的qmail移植到这个项目中,在build path中也将上述的三个包配好了,可是在action中调用的时候,就出现这样的错误提示。
      

  3.   

    直接查看web工程目录下是不是存在这个jar。
    你直接加到classpath中只能保证编译通过,不能保证运行通过,这个jar包是在运行的时候用的。
    所以你应该把它放到WEB-INF/lib目录下解决问题了,别忘记给分,穷死了。
      

  4.   

    仔细认真检查一下,EXCEPTION的提示已经非常细致了。