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实现一个邮件发 ...
最新文章
- 解析深度神经网络背后的数学原理!
- 中随机打乱序列的函数_提前准备,方能“随机”应对,人生不悔
- 视频会议场景下的弱网优化
- Hibernate隐藏的宝石:pooled-lo优化器
- VC6.0 导入资源崩溃
- 养一台家庭轿车的年费是多少?有的工薪打工者为什么卖车?
- 注册表删除chrome插件
- JavaScript 学习计划
- 虚拟机 VMware Workstation 16 PRO 的网络配置
- GIS学习(一):密度分析、可达性分析、空间句法
- 中小学计算机知识ppt,中小学信息技术课程标准解读.ppt
- 使用c语言实现复数运算的程序,用C语言实现的复数运算程序设计
- OSChina 周四乱弹 ——世界欠你一个奥斯卡
- 【系统优化】新装Linux系统注意事项增加系统安全
- Postman发送一个请求
- Mac下Charles的抓包教程
- Android 应用的加密
- 照片变漫画头像如何操作?照片变漫画头像制作方法推荐
- 云计算在物联网中的应用
- 推荐一些成长的公众号