发送邮件,是Web系统等IT建设中最常见的一种功能。
我对最常见的一种需求进行了抽象和封装,定义了一套标准的API,并且使用Java技术实现。
项目名称:FansMail
项目作者:LeiWen
联系方式:[email protected]
当前版本:1.0.2
日期:2013年12月12日
/** * 发送邮件。 * * @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的封装,方便调用而已。
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 [email protected] * * 小雷团队: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 = "[email protected]"; 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.password=yourpassword
mail.smtp.charset=UTF-8
mail.smtp.debug = false
1.API功能很弱,正在进一步丰富中。
2.暂时没有公开源码的打算。
我在思考,未来是否可以通过售卖工具组件的方式“养活”自己。
正在尝试中,程序员加油!
我一直在想,是否有必要把自己写的代码都“开源”。
软件作为一种逻辑产品,在中国,价值很低。普通用户,包括程序员,都喜欢免费使用别人的产品。一听到要“付费”,就不用了,或者用盗版。 传统的实物生产,比如沙发等,都是值钱的,即使价格不高。
未来会出现这种情况么,程序员不用在公司上班,靠写代码生存。比如我写了一个工具,例如本文提到的API,会有人付费么?或者,我在家办公,如果有人需要代码、API、组件、软件系统,就会联系我,然后双方合作。
作为一个程序员,我表示很纠结!!!
原文链接:http://blog.fansunion.cn/articles/3448(小雷博客-blog.fansunion.cn)