使用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
另外贴一段发送邮件的代码:
希望对大家有帮助。
错误一:
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();
- }
- }
- }