• 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效果

    FansMailDemo

    致歉

    1.API功能很弱,正在进一步丰富中。

    2.暂时没有公开源码的打算。

      我在思考,未来是否可以通过售卖工具组件的方式“养活”自己。

      正在尝试中,程序员加油!

    程序员的生存和价值

       我一直在想,是否有必要把自己写的代码都“开源”。

      软件作为一种逻辑产品,在中国,价值很低。普通用户,包括程序员,都喜欢免费使用别人的产品。一听到要“付费”,就不用了,或者用盗版。 传统的实物生产,比如沙发等,都是值钱的,即使价格不高。

       未来会出现这种情况么,程序员不用在公司上班,靠写代码生存。比如我写了一个工具,例如本文提到的API,会有人付费么?或者,我在家办公,如果有人需要代码、API、组件、软件系统,就会联系我,然后双方合作。

       作为一个程序员,我表示很纠结!!!

    原文链接http://blog.fansunion.cn/articles/3448(小雷博客-blog.fansunion.cn)

  • 相关阅读:
    查看mysql版本的四种方法及常用命令
    newInstance和new的区别(good)
    Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 2的次幂表示
    Java实现 蓝桥杯 算法训练 2的次幂表示
    Java实现 蓝桥杯 算法训练 前缀表达式
    Java实现 蓝桥杯 算法训练 前缀表达式
  • 原文地址:https://www.cnblogs.com/qitian1/p/6463357.html
Copyright © 2020-2023  润新知