javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)
- 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();
- }
- }
- }
- }
javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)的更多相关文章
- javaMail 邮件发送和接收示例,支持正文图片、html、附件(转)
转自:https://blog.csdn.net/star_fly4/article/details/52037587 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文 ...
- spring-boot-route(二十二)实现邮件发送功能
在项目开发中,除了需要短信验证外,有时候为了节省 短信费也会使用邮件发送.在Spring项目中发送邮件需要封装复杂的消息体,不太方便.而在Spring Boot项目中发送邮件就太简单了,下面一起来看看 ...
- .NET开发邮件发送功能的全面教程(含邮件组件源码)
今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1) 邮件基础理论知识 2) ...
- .NET开发邮件发送功能
.NET开发邮件发送功能 今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1) 邮件基础理论知 ...
- 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇
在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...
- redmine邮件发送功能配置详解
redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...
- shell邮件发送功能实现
本文中以163邮箱为例,测试shell邮件发送功能.常见的工具有:mailx.sendmail.mutt等. 1.设置邮件客户端 (1)启用pop3.smtp服务,以支持第三方客户端支持 (2)设置授 ...
- SpringBoot 2.X从0到1实现邮件发送功能
Spring中提供了JavaMailSender接口实现邮件发送功能,在SpringBoot2.X中也封装了发送邮件相关的Starter并且提供了自动化配置. 本文目录 一.添加对应的Starter二 ...
- System.Net邮件发送功能踩过的坑
System.Net邮件发送功能踩过的坑 目录 System.Net邮件发送功能踩过的坑 1.EazyEmail邮件发送类库 2.邮件发送授权码与邮件密码 3.通过邮件密码来发送邮件 4.Wiresh ...
随机推荐
- 用DriverStudio开发USB驱动程序
很多写Windows Device Driver的开发人员基本上都是使用Windows DDK进行开发的.但是,现在也有不少人都开始借助一些辅助工具.笔者去年开始接触到DriverStudio,发现它 ...
- 错误卸载软件导致Windows7系统中的软件无法播放视频
1.错误描述 2.错误原因 在卸载软件时,不小心将Windows7中的服务给删除了 3.解决办法 重新安装操作系统
- Linux显示隐藏文件
Linux显示隐藏文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -a . .dbus .local .xsession-errors.old .. ...
- windows驱动程序wdf--KMDF大致框架
继WDM后微软出了WDF,封装了WDM中的一些基本代码逻辑.本人菜鸟,也不知道本质上有何区别,只觉得是多了Wdf开头的函数,基本的编程框架上有点出入. KMDF是WDF的内核级部分,为了理清KMDF的 ...
- org.hibernate.exception.ConstraintViolationException
1.错误描述 Caused by:org.hibernate.exception.ConstraintViolationException:Could not execute JDBC batch u ...
- web开发性能优化---数据库篇
1. 查询出的数据量过大(可以采用多次查询,其他的方法降低数据量),尽量采取分页查询数据 2.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 3.返回了不必要的行和列 用OR的字句可以分解成 ...
- 小白学爬虫-在无GUI的CentOS上使用Selenium+Chrome
爬虫代理IP由芝麻HTTP服务供应商提供各位小伙伴儿的采集日常是不是被JavaScript的各种点击事件折腾的欲仙欲死啊?好不容易找到个Selenium+Chrome可以解决问题! 但是另一个▄█▀█ ...
- 如果没有Build path怎么办 .project文件的修改
<?xml version="1.0" encoding="UTF-8"?><projectDescription> <name& ...
- 求字符串空格、数字、字母个数--JAVA基础
相关内容:charAt()函数 package com.nxl123.www;public class NumString { public static void main(String[] arg ...
- Python爬虫之模拟登录微信wechat
不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一起.既然它这么重要,如果我们可以利用爬虫模拟登录,是不是就意味着我们可以获取这些信息 ...