先看源码,再来理解,可以直接使用!

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邮件发送功能(多收件人,多抄送人,多密送人,多附件)...相关推荐

  1. javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)

    先看源码,再来理解,可以直接使用! JavaMailWithAttachment.java: <span style="font-family: Arial, Helvetica, s ...

  2. Java技术:SpringBoot实现邮件发送功能

    邮件发送功能基本是每个完整业务系统要集成的功能之一,今天小编给大家介绍一下SpringBoot实现邮件发送功能,希望对大家能有所帮助! 今天主要给大家分享简单邮件发送.HTML邮件发送.包含附件的邮件 ...

  3. java mail 抄送多用户,JavaMail 发送邮件,收件人为多人,抄送多人。其中包含收件人邮箱错误时的处理...

    1.给客户做一个发邮件的功能.收件人和抄送人可能为单个人,也可能为多个人.但是当收件人或抄送人中某一个邮箱的格式错误时,整个邮件发送就会出错停止发送.但我还需要给那些其余的人发邮件,该怎么办? 2.解 ...

  4. Java实战-用Java mail实现Exchange发邮件给你喜欢的人

    目录 1. 官方指导文章 2. 需要用到com.microsoft.ews-java-api 2.1 maven中添加 2.2 gradle中添加 3. 完整代码:新建一个MailUtil.java类 ...

  5. java实现邮件发送共鞥_Java实现复杂邮件发送功能(基于JavaMail)的实例

    这篇文章主要为大家详细介绍了基于JavaMail的Java实现复杂邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 上一篇文章 基于 JavaMail 的 Java 邮件发送:简单邮件发 ...

  6. java 发送邮件添加附件,Java实现带附件的邮件发送功能

    这篇文章主要为大家详细介绍了Java实现带附件的邮件发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Java实现邮件发送功能的具体代码,供大 ...

  7. java实现邮件发送_基于JavaMail的Java实现简单邮件发送功能

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...

  8. Java Mail+Thymeleaf模板引擎实现发送HTML格式邮件

    Java Mail+Thymeleaf模板引擎实现发送HTML格式邮件 基于Spring boot 1.5,Spring boot 2.x请使用Spring boot mail 1.依赖坐标 // b ...

  9. php pear mail smtp 不验证,怎么在php中使用pear_smtp实现一个邮件发送功能

    怎么在php中使用pear_smtp实现一个邮件发送功能 发布时间:2020-12-22 16:24:35 来源:亿速云 阅读:76 作者:Leah 怎么在php中使用pear_smtp实现一个邮件发 ...

最新文章

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

热门文章

  1. 赚钱思考:屌丝逆袭应该怎么开始?
  2. 天才如周杰伦与周星驰也难逃孤独
  3. 马斯洛提出动机理论_【错题本】马斯洛的需要层次理论
  4. python求某个函数的反函数_如何用sympy求快速sigmoid函数的逆函数?
  5. 【毕业设计】stm32单片机酒精浓度酒驾检测系统 - 物联网 嵌入式
  6. Linux论文基于shell脚本
  7. 使用vbscript和wscript.shell实现连续多次发送微信消息
  8. 【能源管理】制造行业中汽车厂房综合能效管理平台应用分析
  9. 网易100件事任务清单html,人生必做的100件事测试
  10. 锁相环相位噪声模型及其计算