上篇文章介绍了自己手动的实现发送普通Email、HTML类型的Email以及带附件的Email。其实apache的commons项目下有个email子项目,它对JavaMail API进行了封装,用起来特变方便。下面就简单介绍。
1. 首先配置需要的jar包
需要将mail.jar和commons-email.jar添加到我们的CLASSPATH中即可,如下图:
2. 发送普通邮件
/** * 用org.apache.commons.mail发送普通邮件 * * @author wangzhipeng * */ public class TestCommon { public TestCommon() { } public static void main(String[] args) { SimpleEmail email = new SimpleEmail(); email.setHostName("smtp.qq.com");// 设置使用发电子邮件的邮件服务器,这里以qq邮箱为例(其它例如:【smtp.163.com】,【smtp.sohu.com】) try { // 收件人邮箱 email.addTo("[email protected]"); // 邮箱服务器身份验证 email.setAuthentication("你的邮箱地址", "你的邮箱密码"); // 发件人邮箱 email.setFrom("你的邮箱地址"); // 邮件主题 email.setSubject("zhipeng-JavaMail"); // 邮件内容 email.setMsg("Kobe Bryante Never Stop Trying"); // 发送邮件 email.send(); } catch (EmailException ex) { ex.printStackTrace(); } } }
3. 发送HTML类型邮件
/** * 用org.apache.commons.mail发送HTML邮件 * * @author wangzhipeng * */ public class TestCommonHTML { public TestCommonHTML() { } public static void main(String[] args) { // 不要使用SimpleEmail,会出现乱码问题 HtmlEmail email = new HtmlEmail(); // SimpleEmail email = new SimpleEmail(); try { // 这里是SMTP发送服务器的名字:qq的如下: email.setHostName("smtp.qq.com"); // 字符编码集的设置 email.setCharset("gbk"); // 收件人的邮箱 email.addTo("你的邮箱地址"); // 发送人的邮箱 email.setFrom("[email protected]", "wangzhipeng"); // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码 email.setAuthentication("你的邮箱地址", "你的邮箱密码"); email.setSubject("下午3:00会议室讨论,请准时参加"); // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签 email.setMsg("<h1 style='color:red'>下午3:00会议室讨论</h1>" + " 请准时参加!"); // 发送 email.send(); System.out.println("邮件发送成功!"); } catch (EmailException e) { e.printStackTrace(); System.out.println("邮件发送失败!"); } } }
结果如下:
时间: 2024-10-05 04:24:16