您的位置:首页 > 运维架构 > Apache

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

2013-08-03 11:10 603 查看
今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享分享


希望对大家有帮助。

错误一:

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

另外贴一段发送邮件的代码:

Java代码







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();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: