使用Commons-email实现电子邮件的发送,封装

82人阅读 评论(0) 收藏 举报
分类:

最近项目中使用到发送邮件通知的功能,针对这个做了一下预研,使用的是apace的Commons-email。

发送带附件的邮件

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;


/**
 * Created by Think on 2018/3/22.
 */
public class EmailTest {


    public static void main(String[] args) {
        // Create the attachment
        EmailAttachment attachment = new EmailAttachment();
        //附件路径
        attachment.setPath("F:/test/1.jpg");
        attachment.setDisposition(EmailAttachment.ATTACHMENT);
        attachment.setDescription("您的offer");
        attachment.setName("offer");


        // Create the email message
        MultiPartEmail email = new MultiPartEmail();
        //邮箱服务器,qq,163不一样,需根据发送邮箱进行设置
        email.setHostName("smtp.exmail.qq.com");
        //进行认证
        email.setAuthentication("发送方@qq.com", "QFmwvWFxgVspxY2n");
        email.setCharset("UTF-8");
        email.setSSLOnConnect(true);
        try {
            //设置邮件信息
            email.addTo("121313121@163.com", "John Doe");
            email.setFrom("发送方@qq.com", "Me");
            email.setSubject("The offer");
            email.setMsg("Here is the offer you wanted");
            // add the attachment
            email.attach(attachment);


            // send the email
            email.send();
        }catch (EmailException e) {
            e.printStackTrace();
            //后边的字符串为开启第三方发送权限后得到的,可在邮箱的设置中查找
            email.setAuthentication("发送方@qq.com", "QFmwvWFxgVspxY2n");
            email.setCharset("UTF-8");
            email.setSSLOnConnect(true);
        }


    }

本来想自己封装一下,然后用着比较方便,然后网上随便看了一下,已经有大神封装好了,把链接放一下 https://www.cnblogs.com/haha12/p/4730274.html

关于收件人,抄送人,密送人

如果有人看了上面的链接内容,估计会对以上三种的区别有一丁点疑问,讲真,不做这个邮件发送功能我还不知道邮箱的收件人还有这么多的区别。。
关于这个,知乎里边有人说的很好,我也是直接拿过来了:https://www.zhihu.com/question/21704310

结尾:很久没有公开发表博客,一是好像没有学到什么新的,值得发送的东西;二是确实时间很紧,没有时间写东西;但是却越来越觉得写博客总结很重要,要不然,学过的东西就跟没有学过一样,不知道怎么,就消失不见了,要经常总结才行,不一定是为了给别人看,也是为了以自己的方式留给自己不争气的大脑,毕竟自己不是机器人,东西忘的又那么快。。感谢CSDN

查看评论

使用commons-email组建发送电子邮件

首先导入 commons-emal组建,下载地址http://download.csdn.net/source/878225以下是实现发送邮件的关键代码:package com.emal;import...
  • sz_bdqn
  • sz_bdqn
  • 2008-12-17 00:27:00
  • 1526

commons-email实现发送邮件及遇到的问题

org.apache.commons -commons-email实现java代码中进行发送email,以及遇到的问题(已解决)。...
  • Devin_ran
  • Devin_ran
  • 2016-12-14 10:59:12
  • 1005

用Java Mail和Commons-email发简单的邮件

如何用java发邮件,貌似都知道有个JavaMail。在Apache的网站的一个小角落,还有个叫Commons-email的小精灵…   本文分别使用这两个工具,使用QQ邮箱,通过用户名、密码发送...
  • xiao__gui
  • xiao__gui
  • 2012-10-24 18:00:31
  • 5622

使用Apache commons轻松发送Email

最近项目上需要使用javamail发送邮件,在网上搜索了一些资料,发现Apache common下有个Email组件,对javamail进行了封装,灰常的好用。      1.加入maven坐标依...
  • zjx86320
  • zjx86320
  • 2016-09-27 20:46:08
  • 1107

Java发送Email—使用org.apache.commons.mail

上篇文章介绍了自己手动的实现发送普通Email、HTML类型的Email以及带附件的Email。其实apache的commons项目下有个email子项目,它对JavaMail API进行了封装,用起...
  • wang379275614
  • wang379275614
  • 2015-06-24 18:02:21
  • 8475

用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件

flask中使用Flask-Mail提供对电子邮件的支持,下面将分步骤测试flask中发送电子邮件的功能: 1 配置SMTP服务器的信息     我们需要借助flask程序实例app的config属性...
  • lzhui1987
  • lzhui1987
  • 2016-10-07 10:02:03
  • 1570

JAVA实现的电子邮件发送器

由于项目中需要用到利用JAVA发送电子邮件。于是找了些样例,然后找到网友写的一个类,实现过程中发现由于网易等国内的主流邮箱为了杜绝垃圾短信的群发,都需要用户名和密码的验证。然后就加了一个校验发件人权限...
  • esp4u
  • esp4u
  • 2011-08-30 16:48:47
  • 3463

Spring 实现发送电子邮件的两种方法

  1.通过xml文件配置主要属性: xml文件:test.xml [xhtml] view plain copy print? bean id="m...
  • suyujiezhang
  • suyujiezhang
  • 2016-01-22 15:26:22
  • 664

使用commons-email-1.3.2.jar包发送邮件

package com.lbl.email; import java.io.File; import java.io.UnsupportedEncodingException; import jav...
  • fgyibupi
  • fgyibupi
  • 2014-01-22 15:37:41
  • 1759
    个人资料
    等级:
    访问量: 1万+
    积分: 474
    排名: 10万+