当前位置: 首页 > news >正文

java 发送邮件

maven依赖:

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

 

文件一:Mail.java

 

package com.common.util.mail;

import java.io.Serializable;

/**
* Description: 邮件VO
* @author : 毛会懂
* @date : 2019年6月18日
* Copyright : Copyright (c) 2019
* @version : 1.0
* Modified by 毛会懂 at 2019年6月18日
*/
public class Mail implements Serializable{
public static final String ENCODEING = "UTF-8";

private String host; // 服务器地址

private String sender; // 发件人的邮箱

private String receiver; // 收件人的邮箱

private String name; // 发件人昵称

private String username; // 账号

private String password; // 密码

private String subject; // 主题

private String message; // 信息(支持HTML)

public String getHost() {
return host;
}

public void setHost(String host) {
this.host = host;
}

public String getSender() {
return sender;
}

public void setSender(String sender) {
this.sender = sender;
}

public String getReceiver() {
return receiver;
}

public void setReceiver(String receiver) {
this.receiver = receiver;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getSubject() {
return subject;
}

public void setSubject(String subject) {
this.subject = subject;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

}

 

文件二:mailUtil.java

package com.common.util.mail;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Description: 邮件接口封装
* @author : 毛会懂
* @date : 2019年6月18日
* Copyright : Copyright (c) 2019
* @version : 1.0
* Modified by 毛会懂 at 2019年6月18日
*/
public class mailUtil {

protected final Logger logger = LoggerFactory.getLogger(getClass());

public boolean send(Mail mail) {
// 发送email
HtmlEmail email = new HtmlEmail();
try {
// 这里是SMTP发送服务器的名字:163的如下:"smtp.163.com"
email.setHostName(mail.getHost());
// 字符编码集的设置
email.setCharset(Mail.ENCODEING);
// 收件人的邮箱
email.addTo(mail.getReceiver());
// 发送人的邮箱
email.setFrom(mail.getSender(), mail.getName());
// 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
email.setAuthentication(mail.getUsername(), mail.getPassword());
// 要发送的邮件主题
email.setSubject(mail.getSubject());
// 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
email.setMsg(mail.getMessage());
// email.setSmtpPort(25);
// email.setSSL(true);
// 发送
email.send();
if (logger.isDebugEnabled()) {
logger.debug(mail.getSender() + " 发送邮件到 " + mail.getReceiver());
}
return true;
} catch (EmailException e) {
e.printStackTrace();
logger.info(mail.getSender() + " 发送邮件到 " + mail.getReceiver()
+ " 失败");
return false;
}
}

public void sendEmail(String resMap, String subject) {
try {
HtmlEmail emails = new HtmlEmail();
emails.setHostName("smtp.exmail.qq.com");
// 设置登入认证服务器的用户名和密码
emails.setAuthentication("xxxx", "xxxx");
// 默认是25端口
emails.setSSL(true);
emails.setSmtpPort(465);
// 收件人
String[] address = "xxxx".split(",");
for (String toAddress : address) {
emails.addTo(toAddress);
}
emails.setFrom("xxx", "xxxx");
emails.setSubject(subject);
emails.addPart(resMap, "text/html;charset=utf-8");
emails.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
}

文件三:Test.java

package com.common.util.mail;

/**
* Description: 测试类
*
* @author : 毛会懂
* @date : 2019年6月18日
* Company : 梧桐诚选
* Copyright : Copyright (c) 2019
* @version : 1.0 Modified by 毛会懂 at 2019年6月18日
*/
public class Test {

public static void main(String[] args) {
// Mail mail = new Mail();
// mail.setHost("smtp.163.com"); // 设置邮件服务器,如果不用163的,自己找找看相关的
// mail.setSender("xxx@163.com");
// mail.setReceiver("xxx@163.com"); // 接收人
// mail.setUsername("xxx@163.com"); // 登录账号,一般都是和邮箱名一样吧
// mail.setPassword("xxxxx"); // 发件人邮箱的登录密码 此密码必须是你在邮箱设置打开pop3和SMTP之后设置的密码,否则收不到邮件的
// mail.setSubject("毛会懂");
// mail.setMessage("会懂mao");
// new mailUtil().send(mail);
new mailUtil().sendEmail("","去玩吗");
System.out.print("ok");
}
}

转载于:https://www.cnblogs.com/maohuidong/p/11053155.html

相关文章:

  • apt-fast
  • Excel导出通用操作方式
  • 我感恩
  • 如何清除Exchange2010邮件日志
  • 人类的殒落与扬升
  • 304441事务管理与并发控制
  • 【412】Linux 系统编译 C 程序
  • 那些年我们一起遗忘的位运算!
  • Pots bfs()记录每一种状态,直到求出最优值
  • .Net Remoting(分离服务程序实现) - Part.3
  • ssh架构简单解释和vo po解释
  • [NOIP2018 PJ T4]对称二叉树
  • 移动互联网时代的人才管理新思维之学习笔记
  • Codeforces Round #159 (Div. 2) B. Playing Cubes
  • Gridview常用技巧
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • CSS 三角实现
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Meteor的表单提交:Form
  • Python学习之路13-记分
  • quasar-framework cnodejs社区
  • spring security oauth2 password授权模式
  • Vue2.x学习三:事件处理生命周期钩子
  • 关于Java中分层中遇到的一些问题
  • 聊聊redis的数据结构的应用
  • 前端技术周刊 2019-02-11 Serverless
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 协程
  • 以太坊客户端Geth命令参数详解
  • Java总结 - String - 这篇请使劲喷我
  • 说说我为什么看好Spring Cloud Alibaba
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #大学#套接字
  • (02)vite环境变量配置
  • (java)关于Thread的挂起和恢复
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (过滤器)Filter和(监听器)listener
  • (九)信息融合方式简介
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (算法)前K大的和
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)【Hibernate总结系列】使用举例
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .aanva
  • .form文件_SSM框架文件上传篇
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 4.0中的泛型协变和反变
  • .NET/C# 的字符串暂存池
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET多线程执行函数