From a81519a03512b4c1900e46cdf9c5abae7e3e65c8 Mon Sep 17 00:00:00 2001
From: zidane-itb <16521420@mahasiswa.itb.ac.id>
Date: Thu, 16 Nov 2023 13:33:41 +0700
Subject: [PATCH] implement null safety when checking cc

---
 .../java/com/kms/service/EmailService.java    | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/kms/service/EmailService.java b/src/main/java/com/kms/service/EmailService.java
index 82efdeb..fe52d59 100644
--- a/src/main/java/com/kms/service/EmailService.java
+++ b/src/main/java/com/kms/service/EmailService.java
@@ -10,6 +10,7 @@ import javax.mail.Session;
 import javax.mail.Transport;
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
+import java.util.Optional;
 import java.util.Properties;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -62,12 +63,18 @@ public class EmailService {
             if (toCount == 0)
                 return;
 
-            for (String email: cc.split(",")) {
-                email = email.trim();
-                if (!EmailUtil.isEmailValid(email))
-                    continue;
-                message.addRecipient(Message.RecipientType.CC, new InternetAddress(email));
-            }
+            Optional.ofNullable(cc).ifPresent(el -> {
+                for (String email: el.split(",")) {
+                    email = email.trim();
+                    if (!EmailUtil.isEmailValid(email))
+                        continue;
+                    try {
+                        message.addRecipient(Message.RecipientType.CC, new InternetAddress(email));
+                    } catch (MessagingException e) {
+                        System.out.println("Error while sending email: " + e.getMessage());
+                    }
+                }
+            });
             message.setSubject(subject);
             message.setContent(body, "text/html");
 
-- 
GitLab