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

JavaMailWithAttachment.java:

<span style="font-family: Arial, Helvetica, sans-serif;">private MimeMessage message;</span>
    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.commail.smtp.auth = truemail.sender.username = xxxx@xxxx.commail.sender.password = xxxxxmail.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.csdn.net/detail/qq741437836/9600110

javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)相关推荐

  1. java mail 抄送多用户_javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)...

    先看源码,再来理解,可以直接使用! JavaMailWithAttachment.java: private MimeMessage message; private Session session; ...

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

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

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

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

  4. Spring Boot最新版集成邮件发送功能大全

    Spring Boot最新版集成邮件发送功能大全 前言 一.开启SMTP服务并获取授权码 二.创建Spring Boot项目 1.配置邮箱基本信息: 2.简单邮件发送: 3.发送带附件的邮件: 5.使 ...

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

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

  6. node.js发送html,利用Node.JS实现邮件发送功能

    第一步.配置篇 首先需要安装nodemailer库 npm install nodemailer//默认会安装最新的版本. 关于这个库的文档参见nodemailer 第二步.库的一些使用介绍 这个库使 ...

  7. 利用hutool实现邮件发送功能

    如何利用hutool工具包实现邮件发送功能呢? 1.首先引入hutool依赖 <dependency><groupId>cn.hutool</groupId>< ...

  8. Laravel 6 结合网易/阿里邮箱基本邮件发送功能使用

    如果没有自建邮件服务器,直接结合网易.阿里邮箱可以非常简单方便的使用邮件发送功能. 注册前首先得保证自己有一个域名,阿里最好是在当前账户下有一个已注册的域名. 根据下方地址注册相应的账户信息,选择其中 ...

  9. NET开发邮件发送功能的全面教程(含邮件组件源码)(

    天,给大家分享的是如何在.NET平台中开发"邮件发送"功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下. AD:2013云计算架构师峰会精彩课程曝光 ...

最新文章

  1. 音频编辑大师 3.3 注冊名 注冊码
  2. 2台xenserver组成的资源池开启HA存在的问题
  3. 在linux上一行代码不用写实现自动采集+hadoop分词
  4. Vertx编程风格:您的反应式Web Companion REST API解释了
  5. new操作符具体都干了什么?一次笔试题遇到的
  6. 第8章6节MonkeyRunner启动运行过程-启动Monkey 2
  7. 【Vue.js 3.0】不使用根标签,Error:[vue/no-multiple-template-root] The template root requires exactly one ...
  8. 完美解决IE6不支持position:fixed的bug
  9. paip.使用泛型时未能找到类型或命名空间名称“T
  10. 轨道交通重要组成部分网络时钟系统(子母钟系统)
  11. 在韩家炜老师的实验室和家里作客 — 旅美散记之二
  12. 数字信号处理教程第五版答案
  13. 虫师带你入门Chrome Headless,从此爬虫0门槛!
  14. OSError: could not get source code
  15. 红帽子linux命令界面,红帽子_Linux_命令全解
  16. git操作与vscode,码市的结合
  17. 蓝牙技术|蓝牙标准将迈向 6GHz 频段,蓝牙技术迈向新台阶
  18. 【题解】百度2020校招Web前端工程师笔试卷(第二批):单选题、多选题
  19. echarts - 折线图 - 每分钟刷新数据并显示
  20. 移动端顶部状态栏显示及修改背景色

热门文章

  1. 关于如何显示加密之后的图片
  2. 百度搜索结果显示“我喜欢”按钮
  3. mysql 处理emij表情_判断是否emij表情
  4. 什么是文件管理软件?你为什么需要它?
  5. 改进YOLOv5系列:10.最新HorNet结合YOLO应用首发! | 多种搭配,即插即用 | Backbone主干、递归门控卷积的高效高阶空间交互高效
  6. 前端使用pdf.js插件在线浏览pdf
  7. visio和office2016安装记录
  8. 我的世界服务器核心文件,minecraft1.9服务端核心Paper
  9. 运行Springboot项目时报错WhiteLabel Error Page
  10. 高清电影播放机选购知识——附30余款播放机资料(1)