commons-email是在JavaMail的基础上简化邮件开发的。
分别提供了如下:
SimpleEmail: 用来发送基本的基于文本的电子邮件。
MultiPartEmail :发送带有附件的电子邮件。
HtmlEmail :这个类是用来发送HTML格式的电子邮件。 它拥有MultiPartEmail所有的功能并且允许方便地添加附件。 它还支持嵌入图像。
ImageHtmlEmail:这个类是用来发送HTML格式的电子邮件与内联图像。 它拥有HtmlEmail所有功能,支持变换和引用内部图片。
EmailAttachment: 这是一个简单的容器类以便可以轻松处理附件。 它是用于MultiPartEmail和HtmlEmail的实例。
发送简单的邮件
注意的是:setAuthentication的第二个参数不是密码,是授权验证码
/** * 测试发送一封邮件 */ @Test public void test01() throws EmailException { SimpleEmail email = new SimpleEmail(); //告诉要登陆的邮局地址 email.setHostName("smtp.163.com"); //登陆邮局 email.setAuthentication("ooxx_job@163.com","a123456"); //给哪里发送 email.addTo("xxoo@qq.com"); //从哪里来 email.setFrom("ooxx_job@163.com"); //邮件的标题 email.setSubject("love徐徐"); //邮件的内容 email.setMsg("就是love徐徐。。。love徐徐"); //发送邮件 email.send(); //javax.mail.AuthenticationFailedException: 535 Error: authentication failed //用户名密码不对 System.out.println("徐徐收到了..."); }
使用HtmlEmail举个例子:
@Test public void test02() throws EmailException { HtmlEmail email = new HtmlEmail(); //告诉要登陆的邮局地址 email.setHostName("smtp.163.com"); //登陆邮局 email.setAuthentication("ooxx_job@163.com","a123456"); //给哪里发送 email.addTo("xxoo@qq.com"); //从哪里来 email.setFrom("ooxx_job@163.com"); //邮件的标题 email.setSubject("love徐徐"); email.setCharset("UTF-8"); //邮件的内容 email.setHtmlMsg("就是love徐徐。。。love徐徐;<h1>这是管理邮箱,请勿回复</h1>" + "<a href='http://scw.com/member/password.html?token=dsaldjsakljdsklandjksajdk321731289789'>哈哈。想密码重置?</a>"); //发送邮件 email.send(); //javax.mail.AuthenticationFailedException: 535 Error: authentication failed //用户名密码不对 System.out.println("徐徐收到了..."); }