FansMail:邮件发送标准API与技术实现(Java)
发送邮件,是Web系统等IT建设中最常见的一种功能。
我对最常见的一种需求进行了抽象和封装,定义了一套标准的API,并且使用Java技术实现。
项目信息
项目名称:FansMail
项目作者:LeiWen
联系方式:LeiWen@FansUnion.cn
当前版本:1.0.2
日期:2013年12月12日
邮件发送API
/**
* 发送邮件。
*
* @param toList
* 收件人列表
* @param ccList
* 抄送人列表
* @param bccList
* 暗送人列表
* @param subject
* 邮件主题
* @param content
* 邮件正文
* @param attachmentList
* 附件列表
* @throws EmailException
*/
sendEmail(List<String> toList, List<String> ccList,
List<String> bccList, String subject, String content,
List<EmailAttachment> attachmentList) throws EmailException
简化API
下面几个API实际上是对上面的API的封装,方便调用而已。
sendEmail(List<String> toList, String subject, String content) throws EmailException
sendEmail(List<String> toList, String subject, String content,
List<EmailAttachment> attachmentList) throws EmailException
sendEmail(List<String> toList, List<String> ccList,
String subject, String content, List<EmailAttachment> attachmentList)
throws EmailException
sendEmail(List<String> toList, List<String> ccList,
List<String> bccList, String subject, String content)
throws EmailException
下载
Jar包
FansMail-1.0.2.jar http://fansunion.cn/download/FansMail-1.0.2.jar
依赖的Jar包
activation-1.1.jar,mail-1.4.jar,commons-email-1.2.jar
使用示例下载地址:http://fansunion.cn/download/FansMail-1.0.2-demo.zip
使用示例
package test;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.mail.EmailException;
import cn.fansunion.common.email.EmailSender;
/**
* 发送Html格式,不带附件的邮件。
*
* @author leiwen@fansunion.cn
*
* 小雷团队:http://FansUnion.cn
*
* QQ:240-370-818
*/
public class SendHtmlEmail {
public static void main(String[] args) throws EmailException {
testHtmlEmail();
}
public static void testHtmlEmail() throws EmailException {
//邮件类型,true表示Html邮件,false表示纯文本邮件
EmailSender emailSender = new EmailSender(true);
// 接收者邮箱
String subject = "FansMail测试-Html邮件!";
String content = "test";
String to = "leiwen@fansunion.cn";
List<String> list = new ArrayList<String>();
list.add(to);
emailSender.sendEmail(list, subject, content);
}
}
配置文件
email.properties,需要放在CLASSPATH下,src的根目录即可
mail.smtp.host=smtp.qq.com
mail.smtp.from=leiwen@fansunion.cn
mail.smtp.name=leiwen@fansunion.cn
mail.smtp.password=yourpassword
mail.smtp.charset=UTF-8
mail.smtp.debug = false
Demo效果
致歉
1.API功能很弱,正在进一步丰富中。
2.暂时没有公开源码的打算。
我在思考,未来是否可以通过售卖工具组件的方式“养活”自己。
正在尝试中,程序员加油!
程序员的生存和价值
我一直在想,是否有必要把自己写的代码都“开源”。
软件作为一种逻辑产品,在中国,价值很低。普通用户,包括程序员,都喜欢免费使用别人的产品。一听到要“付费”,就不用了,或者用盗版。 传统的实物生产,比如沙发等,都是值钱的,即使价格不高。
未来会出现这种情况么,程序员不用在公司上班,靠写代码生存。比如我写了一个工具,例如本文提到的API,会有人付费么?或者,我在家办公,如果有人需要代码、API、组件、软件系统,就会联系我,然后双方合作。
作为一个程序员,我表示很纠结!!!
原文链接:http://blog.fansunion.cn/articles/3448(小雷博客-blog.fansunion.cn)
最新文章
- web前端之性能优化
- UML精粹1 - 简介
- SlickGrid example 7:鼠标事件
- iOS iPhone iPad 各种控件默认高度
- 国人编写的开源 .net Ioc 框架——My.Ioc 简介
- SIEM思考
- js基础语法习题补充
- Python学习笔记(二)-Python文件类型及编程模式
- IdentityServer Topics(3)- 定义客户端
- Day 21 内存处理与正则
- Scikit-learn 安装
- .NET实现发送邮件
- facebook&#39;s HipHop for PHP: Move Fast
- centos 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed <;<;<;<;
- confirm(";确定要删除吗?";) _详解
- CentOS7自定义安装git
- sql-mybatis-多表查询不查的字段一定不要查
- 分布式系统登录功能拦截器的实现以及cookie的共享问题(利用cookie实现session在分布式系统的共享)
- js提取新浪邮箱的信用卡
- 洛谷P1177快速排序