博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
提高生产力:发送邮件API和Web服务(包含源码)
阅读量:4982 次
发布时间:2019-06-12

本文共 1605 字,大约阅读时间需要 5 分钟。

在Web开发中,发邮件是一种非常常见的功能或任务。

发送邮件的6种方式 一文提到了6种方法,文章发表后,有网友指出了还有另外一种方法,Ant中也可以发送邮件。

 

打开Foxmail之类的邮件客户端或者在网页中写邮件,用户写邮件的主要输入就是以下6个字段。

必选输入:收件人地址

可选输入:抄送人地址,按送人地址,主题,正文,附件

API

如果,我们从现实世界这些功能来看,发邮件功能是可以提取为一个API的。

/**  * 发送邮件。  *  * @param toList  *            收件人列表  * @param ccList  *            抄送人列表  * @param bccList  *            暗送人列表  * @param subject  *            邮件主题  * @param content  *            邮件正文  * @param attachmentList  *            附件列表  * @throws EmailException  */ public void sendEmail(List
toList, List
ccList, List
bccList,
String subject, String content,   List
attachmentList); 为了方便使用者调用,可以再增加一些API,比如 /** * 发送邮件。 * * @param toList * 收件人列表 * @param subject * 邮件主题 * @param content * 邮件正文 * @throws EmailException */ public void sendEmail(List
toList, String subject, String content);

Web服务
发送邮件这个功能,其实也可以成为一个公共服务。

Java/C++/C/PHP等各种项目都可以使用同一个服务。

服务需要的参数除了API之外的参数之外,可能需要再增加用户名、密码、KEY之类的公共参数。

而这3个公共参数在服务中几乎是必须的,因此把发送邮件API服务化,并没有增加额外的需要维护的参数。

API和Web服务的好处(前提是需求相同或类似)

1.同一项目和不同项目,提高软件复用,避免重复代码。
2.测试更简单。
3.维护和扩展更方便。
4.降低了研发成本,提高了研发效率。

API源码

特别说明:源码只包含API实现的,Web服务的没有实现(工作中用不到),有兴趣的可以自己实现。
版权说明:只要承认源码是小雷-leiwen@fansunion.cn所写,可以用于任何用途(修改、商业用途等)。
下面简要介绍下源码:

EmailSender:邮件发送器。定义了一系列发送邮件的工具方法。

EmailPropertyReader:读取Email配置属性,email.properties配置文件和本类在同一个路径下,或者在classpath路径下。
EmailUtils:发送邮件用到的一些工具方法。
EmailConstant:定义了"mail.smtp.host"等常量。
SendHtmlEmail:一个简单的测试。
(发送邮件关键需要配置自己的帐号和密码,我是根据自己的域名邮箱测试的)

源码下载

原文链接

转载于:https://www.cnblogs.com/qitian1/p/6463620.html

你可能感兴趣的文章
罗马数字转换成整数
查看>>
gearcache在qemu-kvm虚拟化平台下的实现
查看>>
.Net生成HTML的三种方法
查看>>
HTML&CSS基础学习笔记1.8-预格式文本
查看>>
PSexec以及xcopy的简单使用
查看>>
Postgresql迁移数据文件存放位置
查看>>
性能优化——存储性能优化
查看>>
写一篇博文介绍JSP
查看>>
C++笔记 3
查看>>
windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)...
查看>>
golang-gin框架
查看>>
java程序中中常用到的linux操作
查看>>
asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料
查看>>
百度star2012初赛第一场的题目
查看>>
武汉第二十七天
查看>>
最长公共子序列
查看>>
MFC 鼠标去留
查看>>
怎么用xmind给自己制定计划目标
查看>>
word转PDF-jacob
查看>>
20条技巧,让Chrome超越Firefox
查看>>