java 代码


import com.sun.mail.util.MailSSLSocketFactory;
import org.junit.Test;import javax.mail.*;
import javax.mail.internet.*;
import java.security.GeneralSecurityException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;/*** 腾讯企业邮箱发送邮件功能* @author chenchbj*/
public class MailQqController {/*** @param sendMailAccount 发送邮件* @param sendMailPassword 发送邮件密码* @param receiveMailAccount 收件邮件* @param subject 标题* @param content 内容*/public static void sendMail(String sendMailAccount, String sendMailPassword, String receiveMailAccount, String subject, String content) {Properties prop = new Properties();//协议prop.setProperty("mail.transport.protocol", "smtp");//服务器prop.setProperty("mail.smtp.host", "smtp.exmail.qq.com");//端口prop.setProperty("mail.smtp.port","465");//使用smtp身份验证prop.setProperty("mail.smtp.auth","true");//企业邮箱必须要SSLMailSSLSocketFactory sf = null;try {sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);} catch (GeneralSecurityException e1) {e1.printStackTrace();}prop.put("mail.smtp.ssl.enable", "true");prop.put("mail.smtp.ssl.socketFactory", sf);//获取Session对象Session s = Session.getDefaultInstance(prop, new Authenticator() {//此访求返回用户和密码的对象@Overrideprotected PasswordAuthentication getPasswordAuthentication() {PasswordAuthentication pa = new PasswordAuthentication(sendMailAccount, sendMailPassword);return pa;}});//设置session的调试模式,发布时取消s.setDebug(true);MimeMessage mimeMessage = new MimeMessage(s);try {// 发信邮箱mimeMessage.setFrom(new InternetAddress(sendMailAccount));// 收信邮箱// 单个发送//mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(receiveMailAccount));// 群发mimeMessage.addRecipients(Message.RecipientType.TO,addressMails(receiveMailAccount));//设置主题mimeMessage.setSubject(subject);//邮件标题mimeMessage.setSentDate(new Date());//设置内容//mimeMessage.setText("内容");//邮件内容//设置内容/* 创建用于组合邮件正文和附件的MimeMultipart对象 */MimeMultipart multipart = new MimeMultipart();// 设置HTML内容MimeBodyPart content1 = createContent(content);multipart.addBodyPart(content1);// 将组合的MimeMultipart对象设置为整个邮件的内容,要注意调用saveChanges方法进行更新mimeMessage.setContent(multipart);mimeMessage.saveChanges();//发送Transport.send(mimeMessage);} catch (MessagingException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}public static InternetAddress[] addressMails(String receiveMails) {//多个接收账号//        String str = "xxx@xxx.com,xxx@xxx.com";InternetAddress[] address = null;try {List list = new ArrayList();//不能使用string类型的类型,这样只能发送一个收件人String[] median = receiveMails.split(",");//对输入的多个邮件进行逗号分割for (int i = 0; i < median.length; i++) {list.add(new InternetAddress(median[i]));}address = (InternetAddress[]) list.toArray(new InternetAddress[list.size()]);} catch (AddressException e) {e.printStackTrace();}return address;}/*** 创建HTML格式的邮件内容* @param body 邮件内容* @return 邮件内容实体* @throws Exception*/public static MimeBodyPart createContent(String body) throws Exception {/* 创建代表组合MIME消息的MimeMultipart对象和该对象保存到的MimeBodyPart对象 */MimeBodyPart content = new MimeBodyPart();// 创建一个MImeMultipart对象MimeMultipart multipart = new MimeMultipart();// 创建一个表示HTML正文的MimeBodyPart对象,并将它加入到前面的创建的MimeMultipart对象中MimeBodyPart htmlBodyPart = new MimeBodyPart();htmlBodyPart.setContent(body, "text/html;charset=UTF-8");multipart.addBodyPart(htmlBodyPart);// 将MimeMultipart对象保存到MimeBodyPart对象中content.setContent(multipart);return content;}@Testpublic void Test(){sendMail("发送邮箱@midland.com.cn","密码","接收1@midland.com.cn,接收2@midland.com.cn","邮件标题","内容");}

maven项目pom.xml中引入jar

 <!--邮箱--><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency><!--如果使用spring的发邮件,还需要添加依赖:--><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${org.springframework.version}</version></dependency>

spring-context-support版本

<org.springframework.version>4.2.4.RELEASE</org.springframework.version>

1[^2]


  1. 备注:如果腾讯企业邮箱设置了只能接收功能,没有开启发送功能则会报错503或者511等,需要开启客户端登录密码,腾讯方面自动生成的密码。
    [^2] java 发送邮件 网易163邮箱:java 单发群发邮件功能 网易邮箱 ↩︎

java mail 群发(单发)邮件功能(腾讯企业邮箱)相关推荐

  1. Java使用Hutools工具类发送腾讯企业邮箱

    1 邮箱配置 登录登录企业邮箱,点击设置 点击收发信设置,如图默认勾选设置 切换到邮箱绑定设置,需要开启安全登录,因为我们需要使用客户端专用密码(有的叫授权码) 点击生成新密码,将生成的密码拷贝 2 ...

  2. 腾讯企业 html邮件模板,腾讯企业邮箱DMARC设置指南(TXT记录)

    腾讯企业邮箱DMARC设置指南(TXT记录) DMARC(Domain-based Message Authentication, Reporting & Conformance)是一种基于现 ...

  3. 【邮件服务】hutool发送腾讯企业邮箱案例

    目录 一.hutool发送腾讯企业邮箱 1. 引入依赖 2. 配置resources/config/mail.setting 3. 发送实例,更多参考hutool邮件发送文档 4. 发送结果 ​ 参考 ...

  4. 腾讯企业邮箱开通过程中需要添加那些域名解析?

    之前公司的邮箱一直不稳定,终于决定把邮箱全部迁移到腾讯企业邮箱.迁移之前先做好域名解析工作.今天也就做一个工作记录.希望对那些要做迁移的同学有点帮助. 首先要拿到公司域名管理后台,进入域名管理后台设置 ...

  5. 腾讯企业邮箱十大优势特点 (浅谈腾讯企业邮箱优点之一二三)

    这篇文章转载来自博客园,原文标题叫<浅谈腾讯企业邮箱优点之一二三>,可是明明是列出了十大优点啊,为什么叫一二三呢?所以我转载过来之后,顺便把标题改了一下,改成了 腾讯企业邮箱十大优势特点. ...

  6. 浅谈腾讯企业邮箱优点之一二三

    说到腾讯邮箱,大家并不陌生,相信每位QQ用户都拥有自己的个人QQ邮箱账户.但是今天我们要说的是腾讯企业邮箱.这一作为腾讯公司面向企业开发的云邮件工具,在商业应用领域又有哪些独到的优势呢,且看我细细道来 ...

  7. java发送QQ群邮件,Java使用腾讯企业邮箱 、javamail 、 SSL 发送邮件/群发

    引入相关依赖: javax.mail mail 1.4.7 commons-io commons-io 2.4 如果使用spring的发邮件,还需要添加依赖: org.springframework ...

  8. java之实现发邮件功能

    实现发邮件功能 1.配置邮件服务器主机名:private static String myEmailSMTPHost = "smtp.qq.com";(邮箱服务器前面加" ...

  9. Java发邮件配置-hutool+腾讯企业邮箱

    1.技术选型 1.1.hutool工具 1.2.javax.mail 1.3.腾讯企业邮箱 2.环境准备 2.1.pom <!--javax.mail--><dependency&g ...

最新文章

  1. docker $PWD路径_深入浅出Docker 镜像
  2. 突破androidstudio 的控制
  3. Spring定时任务的配置
  4. java ee思维导图
  5. Interview:互联网IT界技能进阶必备—各个职位推荐几个高含金量的证书
  6. Android使用ConstraintLayout 加载RecyclerView数据显示不全
  7. Leetcode 440.字典序第k小的数字
  8. 谷歌浏览器自带的翻译插件为什么不能用?
  9. 黑盒测试和白盒测试的区别
  10. BIM技术之Dynamo图元编程:柱、球面坐标系节点绘制螺旋线
  11. python视频推荐知乎_用Python下载知乎视频,非常实用!
  12. (转)sqlite developer注册方法
  13. 叶罗丽用计算机对话,叶罗丽小剧场:王默和水王子秀恩爱,俩人的对话也太搞笑了...
  14. web网页本地视频播放器
  15. 悠漓带你玩转C语言(函数)
  16. iPhone手机使用:微信提示“运行内存不足导致该小程序无法使用“解决方法
  17. TIA博途_通过PEEK指令在TP900触摸屏上实现监控所有IO地址的具体方法示例
  18. 爱思助手从苹果服务器shsh失败,什么是SHSH?如何通过爱思助手备份SHSH?
  19. 解析机器人与人工智能领域的创新创业
  20. 计算机模拟的概念,数值模拟的概念与方法.ppt

热门文章

  1. node.js+uni计算机毕设项目儿童健康成长档案小程序(程序+小程序+LW)
  2. 【SQL基础】,入门级必备,SQLserver MySQL
  3. vue移动端日历组件
  4. fortran读写二进制文件
  5. 医学图像常用特征选择方法
  6. 电信客户端“星空极速”被破
  7. Unity多人游戏和网络功能(一) 概述和基本概念
  8. Axialis IconWorkshop
  9. 2021蓝桥杯11.27初赛编程题
  10. 写代码也能防沉迷?「反内卷 防沉迷插件 wlb-webpack-plugin 开发纪录」