Преглед изворни кода

多个邮箱发送邮件只发出一个bug优化

liyuan пре 1 недеља
родитељ
комит
8dab2fc796
3 измењених фајлова са 10 додато и 8 уклоњено
  1. 1 1
      pom.xml
  2. 7 5
      src/main/java/com/echepei/utils/mail/SendMailUtil.java
  3. 2 2
      src/test/java/TestBean.java

+ 1 - 1
pom.xml

@@ -6,7 +6,7 @@
 
     <groupId>com.echepei</groupId>
     <artifactId>common-utils</artifactId>
-    <version>1.3</version>
+    <version>1.4</version>
 
     <properties>
         <maven.compiler.source>8</maven.compiler.source>

+ 7 - 5
src/main/java/com/echepei/utils/mail/SendMailUtil.java

@@ -43,12 +43,12 @@ public class SendMailUtil {
         MimeMessage message = new MimeMessage(session);
         message.setSubject(mailDto.getMailTitle());
         message.setFrom(new InternetAddress(mailDto.getMailFrom()));
-        insertRecipient(message, MimeMessage.RecipientType.TO, mailDto.getMailTo());
+        insertRecipient(message, Message.RecipientType.TO, mailDto.getMailTo());
         if (StringUtils.hasText(mailDto.getMailCc())) {
-            insertRecipient(message, MimeMessage.RecipientType.CC, mailDto.getMailCc());
+            insertRecipient(message, Message.RecipientType.CC, mailDto.getMailCc());
         }
         if (StringUtils.hasText(mailDto.getMailBcc())) {
-            insertRecipient(message, MimeMessage.RecipientType.BCC, mailDto.getMailBcc());
+            insertRecipient(message, Message.RecipientType.BCC, mailDto.getMailBcc());
         }
         Multipart multipart = new MimeMultipart();
         // 添加邮件正文
@@ -67,9 +67,11 @@ public class SendMailUtil {
 
     private static void insertRecipient(MimeMessage message, Message.RecipientType recipientType, String mailPath) throws MessagingException{
         String[] email = mailPath.split(";");
-        for (String mail : email) {
-            message.setRecipient(recipientType, new InternetAddress(mail.trim()));
+        Address[] addresses = new Address[email.length];
+        for (int mailNum = 0; mailNum < email.length; mailNum++) {
+            addresses[mailNum] = new InternetAddress(email[mailNum]);
         }
+        message.setRecipients(recipientType, addresses);
     }
 
     /**

+ 2 - 2
src/test/java/TestBean.java

@@ -15,9 +15,9 @@ public class TestBean {
         MailDto mailDto = new MailDto();
         mailDto.setMailFrom("no.reply@win-fast.com.cn");
         mailDto.setMailUserName("no.reply@win-fast.com.cn");
-        mailDto.setMailPassword("0BcA4A8957d610A4");
+        mailDto.setMailPassword("a851fb214Ea2C331");
         mailDto.setMailType(MailTypeEnum.MAIL_263.mailType);
-        mailDto.setMailTo("liyuan_owned@163.com");
+        mailDto.setMailTo("liyuan_owned@163.com;1767540578@qq.com");
         mailDto.setMailTitle("测试");
         mailDto.setMailContent("zzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
         // mailDto.setMailFilePath(Arrays.asList("D:\\2025\\6\\18\\Report.pdf"));