java mail 抄送多用户_javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)...
先看源码,再来理解,可以直接使用!
JavaMailWithAttachment.java:
private MimeMessage message;
private Session session;
private Transport transport;
private String mailHost = "";
private String sender_username = "";
private String sender_password = "";
private String contentPart_Type = "";
private Properties properties = new Properties();
/*
* 初始化方法
*/
public JavaMailWithAttachment() {
try {
FileInputStream is=new FileInputStream("E:/workspace1.6/ICRM-H5/src/mailServer.properties");
properties.load(is);
this.mailHost = properties.getProperty("mail.smtp.host");
this.sender_username = properties.getProperty("mail.sender.username");
this.sender_password = properties.getProperty("mail.sender.password");
this.contentPart_Type = properties.getProperty("mail.contentPart.type");
} catch (IOException e) {
e.printStackTrace();
}
session = Session.getInstance(properties);
session.setDebug(true); //开启后有调试信息,发布时关闭
message = new MimeMessage(session);
}
/**
* 发送邮件
* @param subject
* 邮件主题
* @param sendHtml
* 邮件内容
* @param toUser
* 收件人 多个时参数形式 : "xxx@xxx.com,xxx@xxx.com,xxx@xxx.com"
* @param ccUser
* 抄送人 同上
* @param bccUser
* 密送人 同上
* @param attachment
* 附件
*/
public void doSendHtmlEmail(String subject, String sendHtml,
String toUser, String ccUser, String bccUser, File [] attachment){
try {
// 发件人
InternetAddress from = new InternetAddress(sender_username);
message.setFrom(from);
// 设置多个收件人地址
if(null != toUser && !toUser.isEmpty()){
@SuppressWarnings("static-access")
InternetAddress[] internetAddressTo = new InternetAddress().parse(toUser);
message.setRecipients(Message.RecipientType.TO, internetAddressTo);
}
// 设置多个抄送地址
if(null != ccUser && !ccUser.isEmpty()){
@SuppressWarnings("static-access")
InternetAddress[] internetAddressCC = new InternetAddress().parse(ccUser);
message.setRecipients(Message.RecipientType.CC, internetAddressCC);
}
// 设置多个密送地址
if(null != bccUser && !bccUser.isEmpty()){
@SuppressWarnings("static-access")
InternetAddress[] internetAddressBCC = new InternetAddress().parse(bccUser);
message.setRecipients(Message.RecipientType.BCC, internetAddressBCC);
}
// 发送日期
message.setSentDate(new Date());
// 邮件主题
message.setSubject(subject);
// 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
Multipart multipart = new MimeMultipart();
// 添加邮件正文
BodyPart contentPart = new MimeBodyPart();
contentPart.setContent(sendHtml, contentPart_Type);
multipart.addBodyPart(contentPart);
BodyPart attachmentBodyPart = null;
// 添加附件的内容
if (null != attachment && attachment.length != 0) {
for (File file : attachment) {
attachmentBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(file);
attachmentBodyPart.setDataHandler(new DataHandler(source));
//MimeUtility.encodeWord可以避免文件名乱码
attachmentBodyPart.setFileName(MimeUtility.encodeWord(file.getName()));
multipart.addBodyPart(attachmentBodyPart);
}
}
// 将multipart对象放到message中
message.setContent(multipart);
// 保存邮件
message.saveChanges();
// smtp验证
transport = session.getTransport("smtp");
transport.connect(mailHost, sender_username, sender_password);
// 发送
transport.sendMessage(message, message.getAllRecipients());
System.out.println("发送成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (transport != null) {
try {
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
}
mailServer.properties:
mail.smtp.host = smtp.ym.163.com
mail.smtp.auth = true
mail.sender.username = xxxx@xxxx.com
mail.sender.password = xxxxx
mail.contentPart.type = text/html;charset=UTF-8
由于javaMail需要一个Properties来注册Session,因此创建一个Properties来写入javaMail所需要的注册信息
mail.smtp.host发送方的smtp服务器,现在默认的是网易企业邮箱的smtp服务器,可以根据不同的邮箱进行更改。
mail.smtp.auth向smtp服务器提交认证
mail.sender.username发送者邮箱
mail.smtp.password发送者邮箱密码
还需要两个jar包:activation.jar ,mail.jar
下载地址:http://download..net/detail/qq741437836/9600110
java mail 抄送多用户_javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)...相关推荐
- javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)
先看源码,再来理解,可以直接使用! JavaMailWithAttachment.java: <span style="font-family: Arial, Helvetica, s ...
- Java技术:SpringBoot实现邮件发送功能
邮件发送功能基本是每个完整业务系统要集成的功能之一,今天小编给大家介绍一下SpringBoot实现邮件发送功能,希望对大家能有所帮助! 今天主要给大家分享简单邮件发送.HTML邮件发送.包含附件的邮件 ...
- java mail 抄送多用户,JavaMail 发送邮件,收件人为多人,抄送多人。其中包含收件人邮箱错误时的处理...
1.给客户做一个发邮件的功能.收件人和抄送人可能为单个人,也可能为多个人.但是当收件人或抄送人中某一个邮箱的格式错误时,整个邮件发送就会出错停止发送.但我还需要给那些其余的人发邮件,该怎么办? 2.解 ...
- Java实战-用Java mail实现Exchange发邮件给你喜欢的人
目录 1. 官方指导文章 2. 需要用到com.microsoft.ews-java-api 2.1 maven中添加 2.2 gradle中添加 3. 完整代码:新建一个MailUtil.java类 ...
- java实现邮件发送共鞥_Java实现复杂邮件发送功能(基于JavaMail)的实例
这篇文章主要为大家详细介绍了基于JavaMail的Java实现复杂邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 上一篇文章 基于 JavaMail 的 Java 邮件发送:简单邮件发 ...
- java 发送邮件添加附件,Java实现带附件的邮件发送功能
这篇文章主要为大家详细介绍了Java实现带附件的邮件发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Java实现邮件发送功能的具体代码,供大 ...
- java实现邮件发送_基于JavaMail的Java实现简单邮件发送功能
电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...
- Java Mail+Thymeleaf模板引擎实现发送HTML格式邮件
Java Mail+Thymeleaf模板引擎实现发送HTML格式邮件 基于Spring boot 1.5,Spring boot 2.x请使用Spring boot mail 1.依赖坐标 // b ...
- php pear mail smtp 不验证,怎么在php中使用pear_smtp实现一个邮件发送功能
怎么在php中使用pear_smtp实现一个邮件发送功能 发布时间:2020-12-22 16:24:35 来源:亿速云 阅读:76 作者:Leah 怎么在php中使用pear_smtp实现一个邮件发 ...
最新文章
- 【连载】优秀程序员的 45 个习惯之习惯25
- ckeditor缺少图像源文件地址_微软的模拟飞行带你开着飞机浏览世界附下载地址...
- 20172303 2017-2018-2 《程序设计与数据结构》第4周学习总结
- JQuery/JS select标签动态设置选中值、设置禁止选择 button按钮禁止点击 select获取选中值...
- 实现自己的.NET Core配置Provider之EF
- 机器学习知识总结系列-机器学习中的数学-概率与数理统计(1-3-1)
- 苹果AirPods 2新爆料:无线充电盒重量增加 支持快速充电
- python绘制矩形图_Python。在底图中绘制矩形
- 【雷达通信】基于matlab Omiga-K算法SAR回波生成和成像【含Matlab源码 1184期】
- coolpro2 剪切并淡出
- 在线教育平台项目——设计 接口定义
- 高端域名出售如何选择交易平台?
- 云端服务器的稳定方法,云端服务器的问题怎么解决
- C++设计模式23——访问者模式
- pd.concat()和pd.merge()
- MySQL死锁解决之道
- 通过nodejs 服务器读取HTML文件渲染到页面
- esp32➡遥控篇➡turtlesim➡mobot➡turtlebot3
- C语言基础知识点汇总(1)
- 360旗下APP再遭苹果下架 巨头频遭“一刀切”