• 资源链接
  • Commons Email简介
  • Commons Email 的配置
  • Commons Email 的用法
    • 开通POP3SMTP服务
    • 发送电子邮件源码
      • Mail源码
      • MailAction源码
      • 测试代码MailTest源码
    • 测试的结果

资源链接

Commons Email 官网地址

  • Commons Email

Commons Email API 文档

  • Apache Commons Email 1.5 API

码云上的项目源码

  • email

Commons Email简介

  公用电子邮件的目标是提供一个发送电子邮件的API。它是建立在Java邮件API之上的,它的目标是简化。

  • SimpleEmail - 这个类用于发送基本的基于文本的电子邮件。

  • MultiPartEmail - 该类用于发送多部分消息。这允许带有附件的文本消息或附件或附件。

  • HtmlEmail - 这个类用于发送HTML格式的电子邮件。它具有作为多部分电子邮件的所有功能,可以方便地添加附件。它还支持嵌入的图像。

  • ImageHtmlEmail - 这个类用于发送带有内联图像的HTML格式的电子邮件。它具有HtmlEmail的所有功能,但是将所有的图像引用转换为内联图像。

  • EmailAttachment - 这是一个简单的容器类,可以方便地处理附件。它适用于多部分电子邮件和HtmlEmail的实例。

Commons Email 的配置

  这个的基础配置很简单,就一个Maven依赖项,如下:

    <dependency><groupId>org.apache.commons</groupId><artifactId>commons-email</artifactId><version>1.5</version></dependency>

Commons Email 的用法

开通POP3/SMTP服务

  在使用该Maven依赖发送电子邮件之前,我们先确保发送的电子邮件提供方已经开通了“POP3/SMTP服务”,如果没有开通的话可以参考下面的方法。

  我这里是以网易邮箱为例来进行的说明。

  首先是登录电子邮箱首页,如下:

  找到图示的【设置】按钮,点击后在弹出的下拉列表框中选择“POP3/SMTP/IMAP”选项。

  在弹出的页面中,选中“ POP3/SMTP服务”复选框,点击图示的【保存】按钮即可。

发送电子邮件源码

Mail源码:

package com.lyc.email;import lombok.*;import java.util.Set;@Getter
@Setter
@Builder
public class Mail {private String subject;private String message;private Set<String> receivers;
}

MailAction源码:

package com.lyc.email;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;@Slf4j
public class MailAction {public static boolean send(Mail mail) {//发送方电子邮件地址String from = "zhangzhenyihi@163.com";//发送的端口号int port = 25;//发送的主机地址(需要开通pop3服务)String host = "smtp.163.com";//发送方电子邮件密码String pass = "password";//发送方昵称String nickname = "zhangzhenyi";HtmlEmail email = new HtmlEmail();try {email.setHostName(host);email.setCharset("UTF-8");for (String str : mail.getReceivers()) {email.addTo(str);}email.setFrom(from, nickname);email.setSmtpPort(port);email.setAuthentication(from, pass);email.setSubject(mail.getSubject());email.setMsg(mail.getMessage());email.send();log.info("{} 发送邮件到 {}", from, StringUtils.join(mail.getReceivers(), ","));return true;} catch (EmailException e) {log.error(from + "发送邮件到" + StringUtils.join(mail.getReceivers(), ",") + "失败", e);return false;}}}

测试代码MailTest源码:

package com.lyc.mail;import com.lyc.email.Mail;
import com.lyc.email.MailAction;
import org.junit.Assert;
import org.junit.Test;import java.util.HashSet;
import java.util.Set;public class MailTest {@Testpublic void test(){//添加接收者电子邮件地址Set<String> receivers = new HashSet<String>();receivers.add("1078689276@qq.com");Mail mail = Mail.builder().subject("异常信息标题")   //发送的电子邮件标题.message("异常信息内容")   //发送的电子邮件内容.receivers(receivers).build();//断言发送的电子邮件是否成功Assert.assertEquals(true,MailAction.send(mail));}}

测试的结果:

Commons Email-电子邮件发送相关推荐

  1. nginx $mail-send()发送邮件报错_基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现...

    摘 要 电子邮件在当今社会中扮演了一个很重要的角色.越来越多的人在使用它.而且用它的人数势必会继续增加.虽然,现在已经有很多的邮件收发软件例如著名的FoxMail 但是对于大多数的非专业的人来说它还是 ...

  2. Apache Commons Email 怎样设置接收方发送已读回执?

    Apache Commons Email 怎样设置接收方发送已读回执? 在给别人发邮件时,怎么知道对方是否收到? 类似126/163邮箱里面,发信时 勾选 "[ ] 已读回执" 对 ...

  3. 基于java Email的电子邮件发送

    Email 电子邮件,用java实现email的发送,首先我们需要了解一下email发送的大概过程.简单来说,发送email,需要从用户的电脑邮件软件(MUA),发送到邮件服务器(MTA)上,在通过若 ...

  4. JavaMail| Apache Commons Email介绍

    Apache Commons Email简介 Apache Commons Email旨在提供一个用于发送电子邮件的API.它建立在JavaMail API之上,旨在简化它. 官网: http://c ...

  5. Commons Email开源项目使用

    Commons Email介绍 Commons Email是一个提供发送邮件的API.它是基于Java Mail API开发的项目,目的是为使用更加简单. Commons Email官网地址:http ...

  6. commons email 简介

    org.apache.commons.mail Commons-Email旨在提供用于发送电子邮件. 下面是一个例子: import java.util.HashMap; import java.ut ...

  7. android javamail获取邮件太多太慢_java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)

    如何使用IMAP服务? 首先介绍一些邮件发送的基础知识,如果你已经知道可以跳过. 直接到 Email 邮件发送实现的部分. IMAP是什么? IMAP,即Internet Message Access ...

  8. java发送gmail_如何在Gmail中轻松通过电子邮件发送人群

    java发送gmail Mailing lists are an old tool in the email arsenal, but their implementation in Gmail is ...

  9. 如何使用sp_send_dbmail存储过程将SQL查询结果通过电子邮件发送到智能手机

    介绍 (Introduction) Sometimes there are tasks that require too much time to finish during business hou ...

  10. html报告怎么发送给别人,如何将由Html-test runner(.html)生成的报告通过电子邮件发送给特定用户?...

    我已经学会了如何在python中生成测试报告(.html格式).现在我计划通过电子邮件发送生成的报告. 我使用下面的代码,但未能如愿:如何将由Html-test runner(.html)生成的报告通 ...

最新文章

  1. java实现序列化接口6_只有实现 Java.io. 接口的类的对象才能被序列化和反序列化。用关键字 修饰的对象变量将不会序列化。_程序设计基础(C#)答案_学小易找答案...
  2. Java 实现MapReduce函数
  3. 也谈Spring MVC
  4. 使用Hibernate在CQRS读取模型中进行快速开发
  5. android设置高德的3d,高德地图3D版的使用方法
  6. 什么舱位_把“订舱位”说成book warehouse position,外企不会要你
  7. 黄金分割比的重新理解
  8. sql查询百分之20到百分之40的数据_FOCUS数据管理之ETL监控
  9. Python3序列赋值、序列解包详解(上)
  10. centos locale报错问题
  11. QT编程编程入门系列文章之一——QT编程简介
  12. sendto函数深入理解
  13. java 使用POI导入复杂excel表格
  14. [论文阅读][CVPR2021]EventZoom: Learning to Denoise and Super Resolve Neuromorphic Events
  15. Android读取手机存储文件,android 手机存储文件夹学习
  16. 离散数学中求合取范式析取范式
  17. 【Flutter小记3】Android打开前置或广角摄像头的同时打开闪光灯方案
  18. mysql 经纬度范围_MySQL之根据经纬度查询多少公里范围内的数据
  19. 亲测 阿里云虚拟主机部署FastAadmin
  20. 手把手教你R语言做k均值聚类分析

热门文章

  1. 红帽如何安装oracle数据库,红帽系Linux安装Oracle 19C数据库
  2. C++找对象的季节——常成员函数(点和对称点)
  3. 大华摄像头:视频抓图接口
  4. win10 mmdetection3d环境搭建
  5. python爬取广州港务局船舶调度总计划
  6. 2022中式烹调师(初级)考试题及在线模拟考试
  7. 超酷! Atlas给黑白视频“上色”
  8. 【H.264】SPS 解析
  9. 诛仙手游服务器维护到几点,诛仙手游9月22日更新维护到几点
  10. 电脑文件夹删除不了的解决办法