package adt.mainnode.service; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import com.sun.mail.smtp.SMTPTransport; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Date; import java.util.Properties; // FOR ATTACHMENTS import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; @Service public class EmailService { private static final String SMTP_SERVER = "smtp.gmail.com"; private static final String USERNAME = "adt.event.notifier@gmail.com"; private static final String PASSWORD = "adtctb2020"; private static final String EMAIL_FROM = "adt.event.notifier@gmail.com"; private static final String EMAIL_TO = "alb.blazquez.h@gmail.com, alberto.bherranz@upm.es"; private static final String EMAIL_TO_CC = ""; private static final String EMAIL_SUBJECT = "Test Send Email via SMTP"; private static final String EMAIL_TEXT = "Hello Java Mail \n ABC123"; @Autowired public EmailService() { } public static void sendEmail(String destination) { Properties prop = System.getProperties(); prop.put("mail.smtp.host", SMTP_SERVER); //optional, defined in SMTPTransport prop.put("mail.smtp.auth", "true"); prop.put("mail.smtp.starttls.enable", "true"); prop.put("mail.smtp.port", "25"); // default port 25 Session session = Session.getInstance(prop, null); Message msg = new MimeMessage(session); try { // from msg.setFrom(new InternetAddress(EMAIL_FROM)); // to msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(EMAIL_TO, false)); // cc msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(EMAIL_TO_CC, false)); // subject msg.setSubject(EMAIL_SUBJECT); /* //Attachment part1 MimeBodyPart p1 = new MimeBodyPart(); p1.setText(EMAIL_TEXT); */ // content msg.setText(EMAIL_TEXT); msg.setSentDate(new Date()); /* //Attachment part 2 MimeBodyPart p2 = new MimeBodyPart(); FileDataSource fds = new FileDataSource("path/example.txt"); p2.setDataHandler(new DataHandler(fds)); p2.setFileName(fds.getName()); Multipart mp = new MimeMultipart(); mp.addBodyPart(p1); mp.addBodyPart(p2); msg.setContent(mp); */ // Get SMTPTransport SMTPTransport t = (SMTPTransport) session.getTransport("smtp"); // connect t.connect(SMTP_SERVER, USERNAME, PASSWORD); // send t.sendMessage(msg, msg.getAllRecipients()); System.out.println("Response: " + t.getLastServerResponse()); t.close(); } catch (MessagingException e) { e.printStackTrace(); } } }