论坛首页 Java企业应用论坛

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

浏览 3201 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-04-28   最后修改:2010-04-29
今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享分享
希望对大家有帮助。

错误一:
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();
		}

	}

}

   发表时间:2010-04-30  
丫丫的,用qq的账号发邮件给自己,我的qq邮箱都被封了,,呼呼。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics