• 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)

  • 相关阅读:
    正则表达式
    http协议组成(请求状态码)
    谈一谈你对js线程的理解
    CSS 中定位方式有几种,说明他们的意义
    手机端白屏前端优化的方法,5 种以上
    用 js 写一个获取随机颜色的程序
    如何获取本地存储信息
    cuda 版本查阅
    ubuntu16.04 ROS安转及RVIZ启动
    Tensorflow和Caffe 简介
  • 原文地址:https://www.cnblogs.com/qitian1/p/6463357.html
Copyright © 2020-2023  润新知