Java 发送邮件工具类(多个收件人,多个抄送人)

文章介绍了如何通过Java实现SMTP邮件发送功能,包括设置邮件服务器属性、授权验证、邮件内容构造等步骤。同时提及了一份Java开发学习资料,包含了从入门到进阶的内容,旨在帮助开发者提升技能并减轻学习负担。
摘要由CSDN通过智能技术生成

//获取到当前的时间

private static SimpleDateFormat sdfTime = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

/**

  • 功能描述: 发送邮件的基本配置

  • @param sendEmail 发件人地址

  • @param sendEmailPwd 授权码代替密码(更安全) 授权码的获取:进入个人邮箱,点击设置–>账户, SMTP服务选项 默认情况下这个选项是不开启的。

  •                  点击开启腾讯会进行身份验证,身份验证通过以后,会收到一个用于使用SMTP的16位口令,
    
  •                  验证身份的过程中把收到的口令保存下来,因为后面要使用SMTP功能必须要用到这个口令。
    
  • @param subject 邮件主题

  • @param content 邮件内容

  • @param toEmilAddress 收件人地址

  • @param carbonCopyEmail 抄送人地址

  • @throws Exception

  • @Title: sendEmail

  • @Description: 发送邮件工具类方法

  • @return: void

  • @since: 1.0.0 2018/11/18 19:04

*/

public static boolean sendEmail(String sendEmail, String subject, String content,String toEmilAddress,String carbonCopyEmail, String user, String sendEmailPwd) {

if (toEmilAddress != null) {

//设置基本属性

Properties properties = new Properties();

//设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)

properties.put(“mail.smtp.host”, “smtp.tfjybj.com”);

properties.put(“mail.transport.protocol”, “smtp”);

//需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)

properties.put(“mail.smtp.auth”, true);

// 使用java发送邮件的步骤如下

//1、创建session

Session session = Session.getInstance(properties);

//开启session的调试模式,可以查看当前邮件发送状态

session.setDebug(true);

//创建邮件对象

MimeMessage message = new MimeMessage(session);

try {

//设置发件人

message.setFrom(new InternetAddress(sendEmail));

//设置收件人地址,以逗号隔开

InternetAddress[] sendTo = InternetAddress.parse(toEmilAddress);

message.setRecipients(MimeMessage.RecipientType.TO, sendTo);

//设置收件人地址,以逗号隔开

InternetAddress[] carbonCopy = InternetAddress.parse(carbonCopyEmail);

message.setRecipients(MimeMessage.RecipientType.CC, carbonCopy);

//加载标题

message.setSubject(subject);

// 设置发送时间

message.setSentDate(new Date());

// 设置邮件的文本内容

// 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件

Multipart multipart = new MimeMultipart();

BodyPart contentPart = new MimeBodyPart();

contentPart.setContent(content, “text/html;charset=utf-8”);

multipart.addBodyPart(contentPart);

message.setContent(multipart);

message.saveChanges(); //保存邮件

//2、通过session获取Transport对象(发送邮件的核心API)

Transport transport = session.getTransport(“smtp”);

// 3、通过邮件用户名密码链接

transport.connect(“smtp.tfjybj.com”, user, sendEmailPwd);

//5、发送电子邮件

transport.sendMessage(message, message.getAllRecipients());

transport.close();//关闭连接.

System.out.println(“send success!”);

return true;

} catch (MessagingException e) {

e.printStackTrace();

return false;

}

} else {

return false;

}

}

/**

  • 功能描述:

  • @param: toEmilAddress,违纪人员邮箱地址

  • @param: username,违纪人员姓名

  • @param: disciplineEmail, 纪委邮箱地址

  • @param: disciplineName 纪委姓名

  • @return: boolean
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

一线互联网大厂Java核心面试题库

image

正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
Batis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值