diff --git a/pom.xml b/pom.xml
index fdd2ad0..7363188 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,15 +72,18 @@
5.4.0
- com.sun.mail
- javax.mail
- 1.5.5
+ org.springframework.boot
+ spring-boot-starter-mail
org.projectlombok
lombok
provided
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
diff --git a/src/main/java/com/pledge/torgi/service/EmailService.java b/src/main/java/com/pledge/torgi/service/EmailService.java
index 3e009fd..b3349c2 100644
--- a/src/main/java/com/pledge/torgi/service/EmailService.java
+++ b/src/main/java/com/pledge/torgi/service/EmailService.java
@@ -60,7 +60,7 @@ public class EmailService {
return;
}
List alreadyProcessed = emailsRepository.findTop10ByOrderByIdDesc();
- List emailData = new ReceiveEmailService("imap.gmail.com", 993, params.getFrom(), params.getToken(), params.getSpecialEmail())
+ List emailData = new ReceiveEmailService("imap.gmail.com", 993, params.getFrom(), params.getToken(), params.getSpecialEmail(), log)
.downloadEmails(alreadyProcessed);
int sendLetters = 0;
log.error("Extracted letters = {}", emailData.size());
diff --git a/src/main/java/com/pledge/torgi/service/ReceiveEmailService.java b/src/main/java/com/pledge/torgi/service/ReceiveEmailService.java
index 8f4f161..0d33671 100644
--- a/src/main/java/com/pledge/torgi/service/ReceiveEmailService.java
+++ b/src/main/java/com/pledge/torgi/service/ReceiveEmailService.java
@@ -1,14 +1,15 @@
package com.pledge.torgi.service;
import com.pledge.torgi.model.Emails;
-import com.sun.mail.imap.IMAPMessage;
+import jakarta.mail.internet.MimeMessage;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import jakarta.mail.*;
+import jakarta.mail.internet.InternetAddress;
+import jakarta.mail.internet.MimeMultipart;
+import org.slf4j.Logger;
-import javax.mail.*;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMultipart;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
@@ -21,14 +22,16 @@ public class ReceiveEmailService {
private String password;
private String specialEmail;
private String protocol = "imaps";
+ private Logger logger;
private final Properties prop;
- public ReceiveEmailService(String host, int port, String username, String password, String specialEmail) {
+ public ReceiveEmailService(String host, int port, String username, String password, String specialEmail, Logger logger) {
prop = getServerProperties(host, port);
this.username = username;
this.password = password;
this.specialEmail = specialEmail;
+ this.logger = logger;
}
public List downloadEmails(List alreadyProcessed) {
@@ -60,7 +63,7 @@ public class ReceiveEmailService {
continue;
}
- String messageID = ((IMAPMessage) msg).getMessageID();
+ String messageID = ((MimeMessage) msg).getMessageID();
if (alreadyProcessed.stream().anyMatch(processed -> processed.getMailId().equals(messageID))) {
continue;
}
@@ -75,16 +78,15 @@ public class ReceiveEmailService {
List replyMails = new ArrayList<>(Arrays.stream(toList).map(addr -> ((InternetAddress) addr).getAddress())
.filter(email -> !email.equals(specialEmail))
.toList());
- replyMails.add(((InternetAddress)((IMAPMessage) msg).getSender()).getAddress());
+ replyMails.add(((InternetAddress)((MimeMessage) msg).getSender()).getAddress());
EmailData data = new EmailData();
data.setEmailId(messageID);
data.setFile(wb);
data.setEmails(String.join(",", replyMails));
- System.out.println("Emails for reply: " + data.getEmails());
+ logger.debug("Emails for reply: {}", data.getEmails());
result.add(data);
} catch (Exception ex) {
- System.out.println("No provider for protocol: " + protocol);
- ex.printStackTrace();
+ logger.error("Error during send mail", ex);
}
}
@@ -92,11 +94,9 @@ public class ReceiveEmailService {
folderInbox.close(false);
store.close();
} catch (NoSuchProviderException ex) {
- System.out.println("No provider for protocol: " + protocol);
- ex.printStackTrace();
+ logger.error("No provider for protocol: {}", protocol);
} catch (MessagingException ex) {
- System.out.println("Could not connect to the message store");
- ex.printStackTrace();
+ logger.error("Could not connect to the message store", ex);
}
return result;
}
diff --git a/src/main/java/com/pledge/torgi/service/SendEmailService.java b/src/main/java/com/pledge/torgi/service/SendEmailService.java
index 11bf4e9..e4a67d9 100644
--- a/src/main/java/com/pledge/torgi/service/SendEmailService.java
+++ b/src/main/java/com/pledge/torgi/service/SendEmailService.java
@@ -1,13 +1,14 @@
package com.pledge.torgi.service;
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.activation.FileDataSource;
-import javax.mail.*;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
+import jakarta.activation.DataHandler;
+import jakarta.activation.DataSource;
+import jakarta.activation.FileDataSource;
+import jakarta.mail.*;
+import jakarta.mail.internet.InternetAddress;
+import jakarta.mail.internet.MimeBodyPart;
+import jakarta.mail.internet.MimeMessage;
+import jakarta.mail.internet.MimeMultipart;
+
import java.io.File;
import java.util.Properties;
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index fd30f26..40770ff 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -12,4 +12,6 @@ spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB
server.tomcat.connection-timeout=300000
server.tomcat.keep-alive-timeout=300000
-server.connection-timeout=300000
\ No newline at end of file
+server.connection-timeout=300000
+management.endpoints.web.exposure.include=health,metrics,prometheus
+management.endpoint.health.show-details=always
\ No newline at end of file