在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<String> toList, List<String> ccList, List<String> bccList,
String subject, String content, List<EmailAttachment> attachmentList);
为了方便使用者调用,可以再增加一些API,比如
/**
* 发送邮件。
*
* @param toList
* 收件人列表
* @param subject
* 邮件主题
* @param content
* 邮件正文
* @throws EmailException
*/
public void sendEmail(List<String> 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:一个简单的测试。
(发送邮件关键需要配置自己的帐号和密码,我是根据自己的域名邮箱测试的)
源码下载:http://download.csdn.net/detail/fansunion/6222261
原文链接:http://FansUnion.cn/articles/2337
分享到:
相关推荐
VB 发送电子邮件的源码,发送速度快,可发附件,发送过程不弹出任何窗口。
WebWeb:ApiClient/queryToken.aspx 文件:33行 return postUrl(values, "http://localhost:10673/ApiServe/queryToken.aspx") 的api url目标地址,这里的目标地址就是API服务端:webApi目录下的/ApiServe/queryToken...
C#webapi文件上传下载源码,
压缩文件包含aspnet webapi源码、mvc4源码、webstack源码。
邮件发送系统源码,功能:发送邮件,添加附件,注意:邮箱要开通pop服务 二、菜单功能 1、输入发件人的邮箱账号和密码 2、协议:根据不同邮箱填写不同协议,QQ邮箱就写smtp.qq.com 3、填写收件人邮箱账号 4、...
第1章 S101 一个简单的ASP.NET Web API应用 第2章 S201 通过路由实现请求地址与.aspx页面的映射 S202 基本路由注册 S203 在路由注册中指定约束 S204 针对现有物理文件的路由(关闭) S205 针对现有物理文件的...
邮件发送系统源码,功能:发送邮件,添加附件,注意:邮箱要开通pop服务 二、菜单功能 1、输入发件人的邮箱账号和密码 2、协议:根据不同邮箱填写不同协议,QQ邮箱就写smtp.qq.com 3、填写收件人邮箱账号 4、...
PHPMailer邮件发送代码,php发送邮件源码包,直接整合
集成iot,web api服务,这套带码是通过C#编写集成IOCP高性能高并发优势服务器服务源码。带手机app测试demo源码 具体具备功能如下: 1、具备EF6+mssql数据库功能,可更改为MYSQL或SQLITe. 2、自带WEB API服务,抛弃...
WebApi和访问WebApi两个项目,有源码,注释非常详细,希望对大家有帮助。 HttpWebRequest类访问webApi
C# WEB API 安全认证源码。找到很多资料,光看到说没个代码的,现在终于有个完整的认证源码,带SQL SERVER数据库配置文件,兄弟们下载吧。
此项目是C#语言编写,以最真实职场做项目的技术,WebAPI特性路由+前后端调用分离技术,非常适用于刚入行IT的新人和不懂Web api的朋友们,直接可用,现成项目,UI+DAL间隔分明,数据网格自动获取配置文件动态加载显示...
aspnetwebstack mvc4源码 webapi源码下载
JAVA+WEB邮件系统源码源码整理
使用ASP.NET Core 6.0构建WebApi框架源码, 基础框架已搭建完成,数据库是mysql数据库 使用前在appsettings.json修改自己的数据库地址和账号。 开发工具:Visual Studio 2022 Core版本:.Net Core 6 ASP.NET Web API...
NET5 WebApi使用SuperSocket2.0发送到桌面客户端程序源码
学习.net webapi 必看书籍,带目录 带源码,希望可以帮助到大家.
.net 465端口发送邮件,开发过程中,经常会使用到发送邮件功能,而我们在使用阿里云服务器发送邮件时,由于安全原因,阿里云禁用掉了25端口,于是就造成了我们在本地使用25端口发送邮件时是好的,一放到服务器上就...
c#写的web服务器 源码 可以处理静态页面 动态页面
网站php发送邮件源码教程,使用方便简单,有问题可发私信