Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException
at com.sd.send.SendMail.send(SendMail.java:15)
at com.sd.send.SendMail.main(SendMail.java:43)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
求大神解答
import java.util.Scanner;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
public class SendMail {
public static void send(String user_email, String subject,String msg,String path){
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(path);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
MultiPartEmail simpleEmail = new MultiPartEmail();
simpleEmail.setHostName("smtp.163.com");
simpleEmail.setAuthentication("*******@163.com", "*******");
simpleEmail.setSmtpPort(25);
try {
simpleEmail.setFrom("********", "******", "UTF-8");
simpleEmail.addTo(user_email);
simpleEmail.setSubject(subject);
simpleEmail.setMsg(msg);
simpleEmail.attach(attachment);
simpleEmail.send();
} catch (EmailException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("发送成功");
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.err.println("请输入对方邮箱:");
String user_email=sc.nextLine();
System.err.println("请输入邮件主题:");
String subject=sc.nextLine();
System.err.println("请输入邮件内容:");
String msg=sc.nextLine();
System.err.println("请输入附件的路径:");
String path=sc.nextLine();
send(user_email,subject,msg,path);
}
}
我的代码是这样的
mail.jar 下载地址: http://java.sun.com/products/javamail/downloads/index.html
activation.jar 下载地址:http://java.sun.com/products/javabeans/jaf/downloads/index.html
邮件发送是需要导入jar包的
activation.jar,mail.jar 把这两个jar包加上就可以了