fjptec-xm 发表于 2017-1-9 11:12:36

使用apache mail发送邮件错误解决办法

今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享分享
希望对大家有帮助。
错误一:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
解决方法:到D:\MyEclipse 6.5
\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806
\data\libraryset\EE_5目录下找到javaee.jar删除其中到mail文件夹。
错误二:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream
解决方法:
下载mail.jar和activation.jar文件加入到工程中。
下载地址:
apache-mail
mail.jar
activation.jar
另外贴一段发送邮件的代码:


import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
public class sendEmail {
/**
* @param args
*/
public static void main(String[] args) {
String[] addToArr = "admin@badfriend.cn;******@qq.com".replaceAll(";", ";").split(";");
// 不要使用SimpleEmail,会出现乱码问题
HtmlEmail email = new HtmlEmail();
try {
// 这里是发送服务器的名字:,163的如下:
email.setHostName("smtp.sina.com");
// 编码集的设置
email.setCharset("utf-8");
// 收件人的邮箱
for(String addTo : addToArr){
email.addTo(addTo);
}
// 发送人的邮箱
email.setFrom("******.student@sina.com");
// 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
email.setAuthentication("******.student@sina.com", "******");
email.setSubject("这是一封测试邮件");
// 要发送的信息
email.setMsg("<b>邮件测试内容</b>");
// 发送
email.send();
} catch (EmailException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
页: [1]
查看完整版本: 使用apache mail发送邮件错误解决办法