以下代码在本地环境可以测试成功,假如部署到服务器上,无法运行成功,因为必须使用SSL,端口号为465。

所以需要将

此处修改为

经过测试,邮件发送成功

//原文链接:http://liuwanxiang.iteye.com/blog/2212309
//需要下载mail.jar  地址:http://www.oracle.com/technetwork/java/index-138643.html
//简单调试一下可用,替换一下邮箱和授权码,邮箱密码是授权码,详情百度。
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;/*** 邮件多人发送,可设置发送,抄送,密送* * @author zhutongyu* */
public class SendMail {private static SendMail instance = null;private SendMail() {}public static SendMail getInstance() {if (instance == null) {instance = new SendMail();}return instance;}public void send(String to[], String cs[], String ms[], String subject,String content, String formEmail, String fileList[]) {try {Properties p = new Properties(); // Properties p =// System.getProperties();p.put("mail.smtp.auth", "true");p.put("mail.transport.protocol", "smtp");p.put("mail.smtp.host", "smtp.qq.com");p.put("mail.smtp.port", "25");// 建立会话Session session = Session.getInstance(p);Message msg = new MimeMessage(session); // 建立信息BodyPart messageBodyPart = new MimeBodyPart();Multipart multipart = new MimeMultipart();msg.setFrom(new InternetAddress(formEmail)); // 发件人
String toList = null;String toListcs = null;String toListms = null;// 发送,if (to != null) {toList = getMailList(to);InternetAddress[] iaToList = new InternetAddress().parse(toList);msg.setRecipients(Message.RecipientType.TO, iaToList); // 收件人
            }// 抄送if (cs != null) {toListcs = getMailList(cs);InternetAddress[] iaToListcs = new InternetAddress().parse(toListcs);msg.setRecipients(Message.RecipientType.CC, iaToListcs); // 抄送人
            }// 密送if (ms != null) {toListms = getMailList(ms);InternetAddress[] iaToListms = new InternetAddress().parse(toListms);msg.setRecipients(Message.RecipientType.BCC, iaToListms); // 密送人
            }msg.setSentDate(new Date()); // 发送日期msg.setSubject(subject); // 主题msg.setText(content); // 内容// 显示以html格式的文本内容messageBodyPart.setContent(content, "text/html;charset=gbk");multipart.addBodyPart(messageBodyPart);// 2.保存多个附件if (fileList != null) {addTach(fileList, multipart);}msg.setContent(multipart);// 邮件服务器进行验证Transport tran = session.getTransport("smtp");tran.connect("smtp.qq.com", "postmaster@qq.com","asiamedia");tran.sendMessage(msg, msg.getAllRecipients()); // 发送System.out.println("邮件发送成功");} catch (Exception e) {e.printStackTrace();}}// 添加多个附件public void addTach(String fileList[], Multipart multipart)throws MessagingException, UnsupportedEncodingException {for (int index = 0; index < fileList.length; index++) {MimeBodyPart mailArchieve = new MimeBodyPart();FileDataSource fds = new FileDataSource(fileList[index]);mailArchieve.setDataHandler(new DataHandler(fds));mailArchieve.setFileName(MimeUtility.encodeText(fds.getName(),"GBK", "B"));multipart.addBodyPart(mailArchieve);}}private String getMailList(String[] mailArray) {StringBuffer toList = new StringBuffer();int length = mailArray.length;if (mailArray != null && length < 2) {toList.append(mailArray[0]);} else {for (int i = 0; i < length; i++) {toList.append(mailArray[i]);if (i != (length - 1)) {toList.append(",");}}}return toList.toString();}public static void main(String args[]) {SendMail send = SendMail.getInstance();String to[] = { "zhutongyu@qq.com" };String cs[] = null;String ms[] = null;String subject = "测试一下";String content = "这是邮件内容,仅仅是测试,不需要回复";String formEmail = "zhutongyu@qq.com";String[] arrArchievList = new String[4];arrArchievList[0] = "c:\\2012052914033429140297.rar";arrArchievList[1] = "c:\\topSearch.html";arrArchievList[2] = "c:\\topSearch2.html";arrArchievList[3] = "c:\\logo_white.png";// 2.保存多个附件
        send.send(to, cs, ms, subject, content, formEmail, arrArchievList);}}

转载于:https://www.cnblogs.com/CryOnMyShoulder/p/9351382.html

JAVA实现邮件抄送,密送,多个附件发送相关推荐

  1. 采用SpringBoot发送简单、抄送、密送、带附件邮件

    前言:JavaMail发送邮件的形式多种多样,有简单.抄送.密送.带附件邮件等. 1. 业务需求 实现邮件的简单.抄送.密送和带附件发送四种方式. 2. 实现步骤     在这里,我使用QQ邮箱作为测 ...

  2. 邮件群发之一封邮件发给多个收件人?抄送密送设置

    有的发件箱限制登陆次数只能用几次,那么一次发送多个邮箱地址可以大大提高发送量和速度,伯勒邮件群发机,支持一次一封邮件发送多送多个邮箱地址.首先搞明白这几点: 单次发送(To): 收件人 抄送邮件(CC ...

  3. java长链接主动推送_java以post发送方式实现百度链接提交主动推送(实时)

    怎么实现百度sitemap实时推送,首先,得拥有自己的网站,然后在百度站长上验证通过之后,才有资格推送百度sitemap.          如何选择链接提交方式,当然是选择最快的推送方式,主动推送, ...

  4. 带附件/密送/抄送的 javaMail 邮件发送 -- java_demo(两种实现方式)

    话不多说,上代码--第一种,自己实现的,参考资料 javaMail 的邮件发送包括了抄送(CC),密送(BCC)采用springBoot 常用的邮件服务器名称.地址及SSL/非SSL协议端口号 Jav ...

  5. python使用SMTP发邮件时使用Cc(抄送)和Bcc(密送)

    SMTP发送邮件的时候,并没有特殊的通信语句告诉邮件服务器 谁是主送,谁是抄送/密送,这三个角色都是以同样的方式告诉邮件服务器的,然后重点在邮件内容里. 邮件内容分为头和体两部分(就像http),头部 ...

  6. python用smtp发邮件怎么抄送_python使用SMTP发邮件时使用Cc(抄送)和Bcc(密送)...

    SMTP发送邮件的时候,并没有特殊的通信语句告诉邮件服务器 谁是主送,谁是抄送/密送,这三个角色都是以同样的方式告诉邮件服务器的,然后重点在邮件内容里. 邮件内容分为头和体两部分(就像http),头部 ...

  7. SpringBoot邮件发送(抄送、密送、图片、多文件等一应俱全哦)

    人生若只如初见,何事秋风悲画扇. 下班回去听到室友讲到他们项目正在写一个邮件发送,突然手痒写此功能,后来总结形成该文,希望对大家有帮助! 本文非常详细且实用,是不是干货你说了算! 所用:springb ...

  8. 邮件:TO, CC, BCC(收件人、抄送、密送)

    文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼:我热爱编程.热爱算法.热爱开源.所有源码在我的个人github :这博客是记录我学习的点点滴滴,如果您对 Python.Java.AI ...

  9. java发送邮件,多人单人发送,抄送,密送,附件

    使用下面的代码发送邮件,需要下载包finereport-1.6.5.jar. 可以发送.抄送.密送多人,多个邮箱之间用逗号分隔",",英文的逗号,不要又空格. 写一个用于密码校验的 ...

  10. java邮箱设置密送_修改后可以发送附件、抄送、密送的javabean,吐血推荐~(javamail范例)...

    修改后可以发送附件.抄送.密送的javabean,吐血推荐~(javamail范例) 作者:Andy.m    文章来源:www.jspcn.net 发布日期:2004年02月16日 /* *Auth ...

最新文章

  1. GPU上如何优化卷积
  2. AV1时代要来了,超高清视频时代视频编码技术的机遇与挑战
  3. 在线和本地两种方法构建 RAxML 进化树方法和解读
  4. what do we lack as a student?
  5. PL/SQL Developer中如何格式化SQL
  6. 贝塞尔曲线理解与应用
  7. [导入]FtpClient Library升级到4.x
  8. charles抓包显示乱码解决方法
  9. 移动机器人综合性能对比分析
  10. boost升压电路解析
  11. 计算机学院女神,女神季·计算机科学与技术学院——第六期
  12. 信息系统安全等级保护 备案表
  13. display:weston:desktop xdg-shell
  14. html5 sketchpad,Sketchpad:基于html5在线图像绘画板
  15. 口袋妖怪金心银魂详细图文攻略(上)及游戏下载
  16. Java 知识点总结笔记(篇1)
  17. 电脑桌面图标变成长方形咋办_为什么我的界面上的图标全部被一个长方形的图标覆盖了?...
  18. VLDB 2010 论文写作和格式 format 投稿
  19. 请排列RJ45交叉双绞线水晶头的顺序?
  20. android WebView

热门文章

  1. mysql relay log 查看_Mysql-relay log
  2. Leetcode 5773:插入后的最大值
  3. 【C++】【内存】系列三:内存优化
  4. 【Unity】游戏音效制作工具
  5. 机器学习笔记——乳腺癌鸢尾花分类问题详解(没有直接调包)
  6. 计算机重装后如何连接无线网络,电脑重装系统后怎么连接无线网络连接
  7. 华硕服务器怎么装系统教程,买了华硕电脑不会装系统?教你简单快速的系统重装教程...
  8. 百宝云COM组件操作教程
  9. win10文件夹全屏的快捷键
  10. Python 鸡肋面试题总结