场景:
发送email
依赖:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.4</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.2</version> <scope>compile</scope> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.1</version> <scope>compile</scope> </dependency> </dependencies>
实现:
基于commons-email
SimpleEmail:普通文本格式邮件
MultiPartEmail:附件+普通文本格式邮件
HtmlEmail:MultiPartEmail的子类,附件+HTML格式邮件
代码:
private static final Logger logger = Logger.getLogger(EmailTest.class.getName()); private static final String emailServer = "smtp.163.com"; private static final String emailServerUserEmail = "xxx@163.com"; private static final String emailServerUserName = "xx"; private static final String emailServerUserPassword = "pwd"; private static final String emailEncoding = "utf-8"; public void testSimpleEmail(String toEmail, String toName, String subject, String msg) { try { SimpleEmail email = new SimpleEmail(); email.setHostName(EmailTest.emailServer); email.setAuthentication(EmailTest.emailServerUserName, EmailTest.emailServerUserPassword); email.setCharset(EmailTest.emailEncoding); email.setSubject("testSimpleEmail:"+subject); email.setMsg(msg); email.setFrom(EmailTest.emailServerUserEmail); email.addTo(toEmail, toName); String messageId = email.send(); logger.info("*testSimpleEmail:" + messageId); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } public void testMultiPartEmail(String toEmail, String toName, String attachmentPath, String subject, String msg) { String attachmentText = FilenameUtils.getName(attachmentPath); try { EmailAttachment emailAttachment = new EmailAttachment(); emailAttachment.setPath(attachmentPath); emailAttachment.setDisposition(EmailAttachment.ATTACHMENT); emailAttachment.setDescription(attachmentText); emailAttachment.setName(MimeUtility.encodeText(attachmentText)); MultiPartEmail email = new MultiPartEmail(); email.setHostName(emailServer); email.setAuthentication(EmailTest.emailServerUserEmail, EmailTest.emailServerUserPassword); email.setCharset(emailEncoding); email.addTo(toEmail, toName); email.setFrom(EmailTest.emailServerUserEmail, EmailTest.emailServerUserName); email.setSubject("testMultiPartEmail:"+subject); email.setMsg(msg); email.attach(emailAttachment); String messageId = email.send(); logger.info("*testMultiPartEmail:" + messageId); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } public void testHtmlEmail(String toEmail, String toName, String attachmentPath, String subject, String msg){ String attachmentText = FilenameUtils.getName(attachmentPath); try { EmailAttachment emailAttachment = new EmailAttachment(); emailAttachment.setPath(attachmentPath); emailAttachment.setDisposition(EmailAttachment.ATTACHMENT); emailAttachment.setDescription(attachmentText); emailAttachment.setName(MimeUtility.encodeText(attachmentText)); HtmlEmail email = new HtmlEmail(); email.setHostName(emailServer); email.setAuthentication(EmailTest.emailServerUserName, EmailTest.emailServerUserPassword); email.setCharset(emailEncoding); email.addTo(toEmail); email.setFrom(EmailTest.emailServerUserEmail, EmailTest.emailServerUserName); email.setSubject("testHtmlEmail:"+subject); email.attach(emailAttachment); email.setHtmlMsg(msg); String messageId = email.send(); logger.info("*testHtmlEmail:" + messageId); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } public static void main(String[] args) { EmailTest test = new EmailTest(); String attachmentPath = "G:/hexun.rar"; String subject = "公司通知"; String msg = "hi <br/> 好消息! <br/> 今天天气挺好的适合运动 !"; String toEmail = "toemail@163.com"; String toName = "toemail"; try { test.testHtmlEmail(toEmail, toName, attachmentPath, subject, msg); test.testMultiPartEmail(toEmail, toName, attachmentPath, subject, msg); test.testSimpleEmail(toEmail, toName, subject, msg); } catch (Exception e) { e.printStackTrace(); } }
相关推荐
Java通过Apache提供的Commons Email工具类实现邮箱发送验证码功能,代码附详细注释文本,实现方法中附有验证码生成方法
http://www.java2s.com/ 大名鼎鼎的 java2s 静态网页打包下载 我只是知识的搬运工,版权归属原作者。 是全面学习java不可多得的素材,代码复制粘贴都可运行。...37. Apache Common 38. Ant 39. JUnit
org.apache.commons.mail org.apache.commons.mail.util org.apache.commons.mail.resolver apache commons包
<result property="emailAddress" column="ACC_EMAIL"/> </resultMap> <cacheModel id="categoryCache" type="LRU"> <flushInterval hours="24"/> <property name="size" value="100"/> ...
� Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...
activiti-common-rest-5.21.0.jar activiti-crystalball-5.21.0.jar activiti-diagram-rest-5.21.0.jar activiti-engine-5.21.0.jar activiti-explorer-5.21.0.jar activiti-image-generator-5.21.0.jar activiti-...
摘要 用于制作应用软件的安装程序,支持任何开发平台,灵活性强,性能突出,对JAVA程序的支持也相当完善。 组件列表 技术特性 ♦;;; ;;;通用安装、配置和客户化 ·在终端用户的系统上,将文件和...
of the Common Lisp Group, which is the first, large-scale, email-based design effort; this group worked from 1981 until the early 1990s. The same author 2 founded Lucid, Inc, one of whose products~...
据我所知,JSP基于Java,因此Java程序员可以轻松开始编码。ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。 mod_perl与Perl一样强大,只是更快一些。 二、PHP入门 PHP...
32.3. Apache Kafka Support 32.3.1. Sending a Message 32.3.2. Receiving a Message 32.3.3. Additional Kafka Properties 33. Calling REST Services with RestTemplate 33.1. RestTemplate Customization 34. ...
Java and IDEs 7 ■ Installing Maven 8 ■ Installing Mahout 8 ■ Installing Hadoop 9 1.5 Summary 9 PART 1 RECOMMENDATIONS...........................................11 2 Introducing recommenders 13 2.1 ...