|
@@ -1,155 +1,155 @@
|
|
|
-package cn.kdan.pdf.tech.core.utils;
|
|
|
-
|
|
|
-import cn.kdan.pdf.tech.core.properties.MailProperties;
|
|
|
-import com.sun.mail.util.MailSSLSocketFactory;
|
|
|
-import constant.CommonConstant;
|
|
|
-import exception.BackendRuntimeException;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.mail.javamail.MimeMessageHelper;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-
|
|
|
-import javax.annotation.Resource;
|
|
|
-import javax.mail.*;
|
|
|
-import javax.mail.internet.*;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Properties;
|
|
|
-
|
|
|
-@Component
|
|
|
-@Slf4j
|
|
|
-public class EmailUtils {
|
|
|
- @Resource
|
|
|
- private MailProperties mailProperties;
|
|
|
-
|
|
|
+//package cn.kdan.pdf.tech.core.utils;
|
|
|
+//
|
|
|
+//import cn.kdan.pdf.tech.core.properties.MailProperties;
|
|
|
+//import com.sun.mail.util.MailSSLSocketFactory;
|
|
|
+//import constant.CommonConstant;
|
|
|
+//import exception.BackendRuntimeException;
|
|
|
+//import lombok.extern.slf4j.Slf4j;
|
|
|
+//import org.springframework.mail.javamail.MimeMessageHelper;
|
|
|
+//import org.springframework.stereotype.Component;
|
|
|
+//
|
|
|
+//import javax.annotation.Resource;
|
|
|
+//import javax.mail.*;
|
|
|
+//import javax.mail.internet.*;
|
|
|
+//import java.util.Date;
|
|
|
+//import java.util.List;
|
|
|
+//import java.util.Properties;
|
|
|
+//
|
|
|
+//@Component
|
|
|
+//@Slf4j
|
|
|
+//public class EmailUtils {
|
|
|
// @Resource
|
|
|
-// private JavaMailSender mailSender;
|
|
|
-
|
|
|
-// public boolean sendMail(String subject, String content, List<String> emails) {
|
|
|
+// private MailProperties mailProperties;
|
|
|
+//
|
|
|
+//// @Resource
|
|
|
+//// private JavaMailSender mailSender;
|
|
|
+//
|
|
|
+//// public boolean sendMail(String subject, String content, List<String> emails) {
|
|
|
+//// try {
|
|
|
+//// MimeMessage mimeMessage = mailSender.createMimeMessage();
|
|
|
+//// for (String email : emails) {
|
|
|
+//// MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
|
|
|
+//// // 设置收件人邮箱
|
|
|
+//// messageHelper.setTo(email);
|
|
|
+//// messageHelper.setSubject(subject);
|
|
|
+//// messageHelper.setText(content, true);
|
|
|
+//// messageHelper.setSentDate(new Date());
|
|
|
+//// mailSender.send(mimeMessage);
|
|
|
+//// }
|
|
|
+//// } catch (Exception e) {
|
|
|
+//// log.error("send mail error : " + e.getMessage(), e);
|
|
|
+//// return false;
|
|
|
+//// }
|
|
|
+//// return true;
|
|
|
+//// }
|
|
|
+//
|
|
|
+// public boolean sendMail(String subject,String text,List<String> emails){
|
|
|
+//// try {
|
|
|
+//// //用于读取配置文件
|
|
|
+//// Properties props=new Properties();
|
|
|
+//// //开启Debug调试
|
|
|
+//// props.setProperty("mail.debug", "true");
|
|
|
+//// //发送服务器需要身份验证
|
|
|
+//// props.setProperty("mail.smtp.auth", "true");
|
|
|
+//// //发送邮件服务器的主机名
|
|
|
+//// props.setProperty("mail.smtp.host", mailProperties.getHost());
|
|
|
+//// //端口号
|
|
|
+//// props.setProperty("mail.smtp.port", mailProperties.getPort());
|
|
|
+//// //发送邮件协议
|
|
|
+//// props.setProperty("mail.transport.protocol", mailProperties.getProtocol());
|
|
|
+//// //开启ssl加密(并不是所有的邮箱服务器都需要,但是qq邮箱服务器是必须的)
|
|
|
+//// MailSSLSocketFactory msf= new MailSSLSocketFactory();
|
|
|
+//// msf.setTrustAllHosts(true);
|
|
|
+//// props.put("mail.smtp.ssl.enable", "true");
|
|
|
+//// props.put("mail.smtp.ssl.socketFactory",msf);
|
|
|
+//// //获取Session会话实例(javamail Session与HttpSession的区别是Javamail的Session只是配置信息的集合)
|
|
|
+//// Session session=Session.getInstance(props,new javax.mail.Authenticator(){
|
|
|
+//// protected PasswordAuthentication getPasswordAuthentication(){
|
|
|
+//// //用户名密码验证(取得的授权吗)
|
|
|
+//// return new PasswordAuthentication (mailProperties.getUsername(),mailProperties.getPassword());
|
|
|
+//// }
|
|
|
+//// });
|
|
|
+////
|
|
|
+//// //抽象类MimeMessage为实现类 消息载体封装了邮件的所有消息
|
|
|
+//// MimeMessage message=new MimeMessage(session);
|
|
|
+//// //设置发件人地址
|
|
|
+//// message.setFrom(new InternetAddress(mailProperties.getUsername()));
|
|
|
+//// //此类的功能是发送邮件 又会话获得实例
|
|
|
+//// Transport transport=session.getTransport();
|
|
|
+//// //开启连接
|
|
|
+//// transport.connect();
|
|
|
+//// //设置收件人地址邮件信息
|
|
|
+//// for (int i = 0; i < emails.size(); i++) {
|
|
|
+//// MimeMessageHelper messageHelper = new MimeMessageHelper(message, true,"utf-8");
|
|
|
+//// // 设置收件人邮箱
|
|
|
+//// messageHelper.setTo(emails.get(i));
|
|
|
+//// messageHelper.setSubject(subject);
|
|
|
+//// messageHelper.setText(text, true);
|
|
|
+//// messageHelper.setSentDate(new Date());
|
|
|
+//// transport.sendMessage(message,new Address[]{new InternetAddress(emails.get(i))});
|
|
|
+//// //邮件发送后关闭信息
|
|
|
+//// transport.close();
|
|
|
+//// }
|
|
|
+//// return true;
|
|
|
// try {
|
|
|
-// MimeMessage mimeMessage = mailSender.createMimeMessage();
|
|
|
-// for (String email : emails) {
|
|
|
-// MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
|
|
|
+// //用于读取配置文件
|
|
|
+// Properties props=new Properties();
|
|
|
+// //发送服务器需要身份验证
|
|
|
+// props.setProperty("mail.smtp.auth", "true");
|
|
|
+// //发送邮件服务器的主机名
|
|
|
+// props.setProperty("mail.smtp.host", mailProperties.getHost());
|
|
|
+// //端口号
|
|
|
+// props.setProperty("mail.smtp.port", mailProperties.getPort());
|
|
|
+// //发送邮件协议
|
|
|
+// props.setProperty("mail.transport.protocol", mailProperties.getProtocol());
|
|
|
+// props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
|
|
+// props.put("mail.smtp.socketFactory.port", "465");
|
|
|
+// props.put("mail.smtp.port", mailProperties.getPort());
|
|
|
+//
|
|
|
+// //mailfrom 参数
|
|
|
+// props.put("mail.smtp.from", mailProperties.getUsername());
|
|
|
+// // 发件人的账号(在控制台创建的发信地址)
|
|
|
+// props.put("mail.user", mailProperties.getUsername());
|
|
|
+// // 发信地址的smtp密码(在控制台选择发信地址进行设置)
|
|
|
+// props.put("mail.password", mailProperties.getPassword());
|
|
|
+// // 构建授权信息,用于进行SMTP进行身份验证
|
|
|
+// Authenticator authenticator = new Authenticator() {
|
|
|
+// @Override
|
|
|
+// protected PasswordAuthentication getPasswordAuthentication() {
|
|
|
+// // 用户名、密码
|
|
|
+// String userName = props.getProperty("mail.user");
|
|
|
+// String password = props.getProperty("mail.password");
|
|
|
+// return new PasswordAuthentication(userName, password);
|
|
|
+// }
|
|
|
+// };
|
|
|
+// Session mailSession = Session.getInstance(props, authenticator);
|
|
|
+// //开启debug模式
|
|
|
+// mailSession.setDebug(true);
|
|
|
+// //抽象类MimeMessage为实现类 消息载体封装了邮件的所有消息
|
|
|
+// MimeMessage message = new MimeMessage(mailSession);
|
|
|
+// //设置发件人地址
|
|
|
+// //此类的功能是发送邮件 又会话获得实例
|
|
|
+// Transport transport=mailSession.getTransport();
|
|
|
+// //开启连接
|
|
|
+// transport.connect();
|
|
|
+// //设置收件人地址邮件信息
|
|
|
+// for (int i = 0; i < emails.size(); i++) {
|
|
|
+// MimeMessageHelper messageHelper = new MimeMessageHelper(message, true,"utf-8");
|
|
|
// // 设置收件人邮箱
|
|
|
-// messageHelper.setTo(email);
|
|
|
+// messageHelper.setTo(emails.get(i));
|
|
|
// messageHelper.setSubject(subject);
|
|
|
-// messageHelper.setText(content, true);
|
|
|
+// messageHelper.setText(text, true);
|
|
|
// messageHelper.setSentDate(new Date());
|
|
|
-// mailSender.send(mimeMessage);
|
|
|
+// transport.sendMessage(message,new Address[]{new InternetAddress(emails.get(i))});
|
|
|
+// //邮件发送后关闭信息
|
|
|
+// transport.close();
|
|
|
// }
|
|
|
+// return true;
|
|
|
+//
|
|
|
// } catch (Exception e) {
|
|
|
// log.error("send mail error : " + e.getMessage(), e);
|
|
|
-// return false;
|
|
|
+// throw new BackendRuntimeException(CommonConstant.EXCEPTION_MSG_EMAIL_INVALID);
|
|
|
// }
|
|
|
-// return true;
|
|
|
// }
|
|
|
-
|
|
|
- public boolean sendMail(String subject,String text,List<String> emails){
|
|
|
-// try {
|
|
|
-// //用于读取配置文件
|
|
|
-// Properties props=new Properties();
|
|
|
-// //开启Debug调试
|
|
|
-// props.setProperty("mail.debug", "true");
|
|
|
-// //发送服务器需要身份验证
|
|
|
-// props.setProperty("mail.smtp.auth", "true");
|
|
|
-// //发送邮件服务器的主机名
|
|
|
-// props.setProperty("mail.smtp.host", mailProperties.getHost());
|
|
|
-// //端口号
|
|
|
-// props.setProperty("mail.smtp.port", mailProperties.getPort());
|
|
|
-// //发送邮件协议
|
|
|
-// props.setProperty("mail.transport.protocol", mailProperties.getProtocol());
|
|
|
-// //开启ssl加密(并不是所有的邮箱服务器都需要,但是qq邮箱服务器是必须的)
|
|
|
-// MailSSLSocketFactory msf= new MailSSLSocketFactory();
|
|
|
-// msf.setTrustAllHosts(true);
|
|
|
-// props.put("mail.smtp.ssl.enable", "true");
|
|
|
-// props.put("mail.smtp.ssl.socketFactory",msf);
|
|
|
-// //获取Session会话实例(javamail Session与HttpSession的区别是Javamail的Session只是配置信息的集合)
|
|
|
-// Session session=Session.getInstance(props,new javax.mail.Authenticator(){
|
|
|
-// protected PasswordAuthentication getPasswordAuthentication(){
|
|
|
-// //用户名密码验证(取得的授权吗)
|
|
|
-// return new PasswordAuthentication (mailProperties.getUsername(),mailProperties.getPassword());
|
|
|
-// }
|
|
|
-// });
|
|
|
//
|
|
|
-// //抽象类MimeMessage为实现类 消息载体封装了邮件的所有消息
|
|
|
-// MimeMessage message=new MimeMessage(session);
|
|
|
-// //设置发件人地址
|
|
|
-// message.setFrom(new InternetAddress(mailProperties.getUsername()));
|
|
|
-// //此类的功能是发送邮件 又会话获得实例
|
|
|
-// Transport transport=session.getTransport();
|
|
|
-// //开启连接
|
|
|
-// transport.connect();
|
|
|
-// //设置收件人地址邮件信息
|
|
|
-// for (int i = 0; i < emails.size(); i++) {
|
|
|
-// MimeMessageHelper messageHelper = new MimeMessageHelper(message, true,"utf-8");
|
|
|
-// // 设置收件人邮箱
|
|
|
-// messageHelper.setTo(emails.get(i));
|
|
|
-// messageHelper.setSubject(subject);
|
|
|
-// messageHelper.setText(text, true);
|
|
|
-// messageHelper.setSentDate(new Date());
|
|
|
-// transport.sendMessage(message,new Address[]{new InternetAddress(emails.get(i))});
|
|
|
-// //邮件发送后关闭信息
|
|
|
-// transport.close();
|
|
|
-// }
|
|
|
-// return true;
|
|
|
- try {
|
|
|
- //用于读取配置文件
|
|
|
- Properties props=new Properties();
|
|
|
- //发送服务器需要身份验证
|
|
|
- props.setProperty("mail.smtp.auth", "true");
|
|
|
- //发送邮件服务器的主机名
|
|
|
- props.setProperty("mail.smtp.host", mailProperties.getHost());
|
|
|
- //端口号
|
|
|
- props.setProperty("mail.smtp.port", mailProperties.getPort());
|
|
|
- //发送邮件协议
|
|
|
- props.setProperty("mail.transport.protocol", mailProperties.getProtocol());
|
|
|
- props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
|
|
- props.put("mail.smtp.socketFactory.port", "465");
|
|
|
- props.put("mail.smtp.port", mailProperties.getPort());
|
|
|
-
|
|
|
- //mailfrom 参数
|
|
|
- props.put("mail.smtp.from", mailProperties.getUsername());
|
|
|
- // 发件人的账号(在控制台创建的发信地址)
|
|
|
- props.put("mail.user", mailProperties.getUsername());
|
|
|
- // 发信地址的smtp密码(在控制台选择发信地址进行设置)
|
|
|
- props.put("mail.password", mailProperties.getPassword());
|
|
|
- // 构建授权信息,用于进行SMTP进行身份验证
|
|
|
- Authenticator authenticator = new Authenticator() {
|
|
|
- @Override
|
|
|
- protected PasswordAuthentication getPasswordAuthentication() {
|
|
|
- // 用户名、密码
|
|
|
- String userName = props.getProperty("mail.user");
|
|
|
- String password = props.getProperty("mail.password");
|
|
|
- return new PasswordAuthentication(userName, password);
|
|
|
- }
|
|
|
- };
|
|
|
- Session mailSession = Session.getInstance(props, authenticator);
|
|
|
- //开启debug模式
|
|
|
- mailSession.setDebug(true);
|
|
|
- //抽象类MimeMessage为实现类 消息载体封装了邮件的所有消息
|
|
|
- MimeMessage message = new MimeMessage(mailSession);
|
|
|
- //设置发件人地址
|
|
|
- //此类的功能是发送邮件 又会话获得实例
|
|
|
- Transport transport=mailSession.getTransport();
|
|
|
- //开启连接
|
|
|
- transport.connect();
|
|
|
- //设置收件人地址邮件信息
|
|
|
- for (int i = 0; i < emails.size(); i++) {
|
|
|
- MimeMessageHelper messageHelper = new MimeMessageHelper(message, true,"utf-8");
|
|
|
- // 设置收件人邮箱
|
|
|
- messageHelper.setTo(emails.get(i));
|
|
|
- messageHelper.setSubject(subject);
|
|
|
- messageHelper.setText(text, true);
|
|
|
- messageHelper.setSentDate(new Date());
|
|
|
- transport.sendMessage(message,new Address[]{new InternetAddress(emails.get(i))});
|
|
|
- //邮件发送后关闭信息
|
|
|
- transport.close();
|
|
|
- }
|
|
|
- return true;
|
|
|
-
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("send mail error : " + e.getMessage(), e);
|
|
|
- throw new BackendRuntimeException(CommonConstant.EXCEPTION_MSG_EMAIL_INVALID);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
+//}
|