master
io42630 1 year ago
parent a2b4094e79
commit eee0ae52a8

2
.gitignore vendored

@ -1,3 +1,5 @@
/.idea/ /.idea/
/.run/
**/target/ **/target/
*.env *.env
*.override.yaml

@ -1,7 +1,9 @@
package com.olexyn.burnsmail; package com.olexyn.burnsmail;
import com.olexyn.burnsmail.mail.EmailService;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.EnableAspectJAutoProxy;
@SpringBootApplication @SpringBootApplication
@ -9,8 +11,24 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
@EnableAspectJAutoProxy(proxyTargetClass = true) @EnableAspectJAutoProxy(proxyTargetClass = true)
public class BurnsMailApplication { public class BurnsMailApplication {
public static void main(String[] args) { public static void main(String[] args) throws InterruptedException {
SpringApplication.run(BurnsMailApplication.class, args); ConfigurableApplicationContext context = SpringApplication.run(BurnsMailApplication.class, args);
Thread.sleep(10000L);
// Retrieve the EmailService bean
EmailService emailService = context.getBean(EmailService.class);
// Call the readEmails method
try {
emailService.readEmails();
} catch (Exception e) {
e.printStackTrace();
// Handle exceptions as needed
}
// Close the application context
context.close();
} }
} }

@ -0,0 +1,50 @@
package com.olexyn.burnsmail.mail;
import org.springframework.stereotype.Service;
import javax.mail.Flags;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.search.FlagTerm;
import java.io.IOException;
import java.util.Properties;
@Service
public class EmailService {
public void readEmails() throws MessagingException, IOException {
Properties properties = new Properties();
properties.setProperty("mail.store.protocol", "imaps");
Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore("imaps");
store.connect(
System.getenv("spring.mail.host"),
System.getenv("spring.mail.username"),
System.getenv("spring.mail.password")
);
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
// Fetch unread messages
Message[] messages = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
for (Message message : messages) {
// Process each email message
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Body: " + message.getContent());
}
// Close resources
inbox.close(false);
store.close();
}
}
Loading…
Cancel
Save