From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/util/EmailSend.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/util/EmailSend.java b/src/main/java/com/nanometer/smartlab/util/EmailSend.java
index 1a20d2c..fb7760f 100644
--- a/src/main/java/com/nanometer/smartlab/util/EmailSend.java
+++ b/src/main/java/com/nanometer/smartlab/util/EmailSend.java
@@ -12,8 +12,11 @@
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 import java.text.MessageFormat;
+import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 import java.util.Properties;
+import com.sun.mail.util.MailSSLSocketFactory;
 
 public class EmailSend {
 
@@ -74,5 +77,71 @@
             }
         }
     }
+
+
+    public static void sendArrivalEmail(List<String> revicerList, String msg, String title){
+        EmailConfigService cs = SpringUtil.getBean("emailConfigService", EmailConfigService.class);
+        String sender = cs.getZkySmtpUser();/*发送人*/
+        String password = cs.getZkySmtpPwd();
+
+        String ZkySmtp = "smtp.cstnet.cn"; /*中科院邮件服务器*/
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Properties prop = new Properties();
+        prop.setProperty("mail.host", ZkySmtp);
+        prop.setProperty("mail.transport.protocol", "smtp"); // 邮件发送协议
+        prop.setProperty("mail.smtp.auth", "true"); // 需要验证用户名密码
+        prop.setProperty("mail.smtp.port", "25");
+
+        MailSSLSocketFactory mailSSLSocketFactory = null;
+        try{
+            mailSSLSocketFactory = new MailSSLSocketFactory();
+            mailSSLSocketFactory.setTrustAllHosts(true);
+        }catch (Exception e){
+            logger.error("邮件开启 MailSSLSocketFactory 失败:"+e.getMessage());
+        }
+
+        if (mailSSLSocketFactory != null) {
+
+            prop.put("mail.smtp.ssl.enable", false);
+            prop.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory);
+            //创建定义整个应用程序所需的环境信息的 Session 对象
+            Session session = Session.getDefaultInstance(prop, new Authenticator() {
+                public PasswordAuthentication getPasswordAuthentication() {
+                    //发件人邮件用户名、授权码
+                    return new PasswordAuthentication(sender, password);
+                }
+            });
+
+            for (String revicer : revicerList) {
+                try {
+                    //2、通过session得到transport对象
+                    Transport ts = session.getTransport();
+                    //3、使用邮箱的用户名和授权码连上邮件服务器
+                    ts.connect(sender, password);
+                    try {
+                        //4、创建邮件
+                        //创建邮件对象
+                        MimeMessage message = new MimeMessage(session);
+                        //指明邮件的发件人
+                        message.setFrom(new InternetAddress(sender));
+                        //指明邮件的收件人
+                        message.setRecipient(Message.RecipientType.TO, new InternetAddress(revicer));
+                        //邮件的标题
+                        message.setSubject(sdf.format(new Date())+title);
+                        //邮件的文本内容
+                        message.setContent(msg, "text/html;charset=UTF-8");
+                        //5、发送邮件
+                        ts.sendMessage(message, message.getAllRecipients());
+                    } catch (Exception e) {
+                        logger.error("邮件发送" + "失败:" + e.getMessage());
+                    }
+                    ts.close();
+                } catch (Exception e) {
+                    logger.error("邮件发送失败:" + e.getMessage());
+                }
+            }
+        }
+        logger.error("邮件发送完成" + "时间:" + sdf.format(new Date()));
+    }
 }
 

--
Gitblit v1.9.2