From f71a6c40c78cb944e4fdfe09288249a46f5fcbe3 Mon Sep 17 00:00:00 2001
From: althaafka <althaafka004@gmail.com>
Date: Thu, 16 Nov 2023 21:42:52 +0700
Subject: [PATCH] refactor(email): change func structure

---
 src/main/java/utils/EmailUtil.java            | 26 +++++++++----------
 .../{java/utils => resources}/config.email    |  0
 2 files changed, 12 insertions(+), 14 deletions(-)
 rename src/main/{java/utils => resources}/config.email (100%)

diff --git a/src/main/java/utils/EmailUtil.java b/src/main/java/utils/EmailUtil.java
index d599d7e..2242aad 100644
--- a/src/main/java/utils/EmailUtil.java
+++ b/src/main/java/utils/EmailUtil.java
@@ -9,18 +9,24 @@ import java.util.Properties;
 
 public class EmailUtil {
 	private static EmailUtil instance;
+	static Session session;
 
 	public static EmailUtil getInstance() {
 		if (instance == null) {
 			instance = new EmailUtil();
+			ConfigHandler ch = new ConfigHandler("config.email");
+			Properties props = System.getProperties();
+			props.put("mail.smtp.host", ch.get("mail.smtp.host"));
+			props.put("mail.smtp.port", ch.get("mail.smtp.port"));
+			props.put("mail.smtp.ssl.enable",ch.get("mail.smtp.ssl.enable"));
+			props.put("mail.smtp.auth", ch.get("mail.smtp.auth"));
+
+			Authenticator auth = authenticator(ch);
+			session = Session.getInstance(props, auth);
 		}
 		return instance;
 	}
 
-	// private String[] getAdminEmails(){
-		
-	// }
-
 	public void sendEmail(){
 		try {
 			ConfigHandler ch = new ConfigHandler("config.email");
@@ -29,14 +35,6 @@ public class EmailUtil {
 			String body = "We have received a new subscription request. Please check the admin panel for more details.\n\n" +
 					"Regards,\n" +
 					"Team Notflixx";
-			Properties props = System.getProperties();
-			props.put("mail.smtp.host", ch.get("mail.smtp.host"));
-			props.put("mail.smtp.port", ch.get("mail.smtp.port"));
-			props.put("mail.smtp.ssl.enable",ch.get("mail.smtp.ssl.enable"));
-			props.put("mail.smtp.auth", ch.get("mail.smtp.auth"));
-
-			Authenticator auth = authenticator(ch);
-			Session session = Session.getInstance(props, auth);
 
 			MimeMessage msg = new MimeMessage(session);
 			msg.setFrom(new InternetAddress(ch.get("mail.smtp.username")));
@@ -46,14 +44,14 @@ public class EmailUtil {
 
 			System.out.println("Message is ready");
     	  	Transport.send(msg);
-			System.out.println("EMail Sent Successfully!!");
+			System.out.println("Email Sent Successfully!!");
 
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
 	}
 
-	private Authenticator authenticator(ConfigHandler ph) {
+	private static Authenticator authenticator(ConfigHandler ph) {
 		String username = ph.get("mail.smtp.username");
 		String password = ph.get("mail.smtp.password");
 		Authenticator auth = new Authenticator() {
diff --git a/src/main/java/utils/config.email b/src/main/resources/config.email
similarity index 100%
rename from src/main/java/utils/config.email
rename to src/main/resources/config.email
-- 
GitLab