[JAVA-8592] Fix email service live test

This commit is contained in:
Haroon Khan
2021-11-20 22:30:23 +00:00
parent 921752346b
commit 48304dbbd3
3 changed files with 87 additions and 57 deletions

View File

@@ -1,8 +1,5 @@
package com.baeldung.mail.mailwithattachment;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
@@ -10,23 +7,23 @@ import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.util.Properties;
public class MailWithAttachmentService {
private String username = "";
private String password = "";
private String host = "";
private String port = "";
private final String username;
private final String password;
private final String host;
private final int port;
MailWithAttachmentService() {
}
MailWithAttachmentService(String username, String password, String host, String port) {
MailWithAttachmentService(String username, String password, String host, int port) {
this.username = username;
this.password = password;
this.host = host;
@@ -40,15 +37,14 @@ public class MailWithAttachmentService {
props.put("mail.smtp.host", this.host);
props.put("mail.smtp.port", this.port);
Session session = Session.getInstance(props, new javax.mail.Authenticator() {
return Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
return session;
}
public Message createMail(Session session) throws AddressException, MessagingException, IOException {
public void sendMail(Session session) throws MessagingException, IOException {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("mail@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("mail@gmail.com"));
@@ -61,23 +57,27 @@ public class MailWithAttachmentService {
multipart.addBodyPart(messageBodyPart);
MimeBodyPart attachmentPart = new MimeBodyPart();
MimeBodyPart attachmentPart2 = new MimeBodyPart();
attachmentPart.attachFile(new File("C:\\Document1.txt"));
attachmentPart2.attachFile(new File("C:\\Document2.txt"));
attachmentPart.attachFile(getFile("attachment.txt"));
multipart.addBodyPart(attachmentPart);
MimeBodyPart attachmentPart2 = new MimeBodyPart();
attachmentPart2.attachFile(getFile("attachment2.txt"));
multipart.addBodyPart(attachmentPart2);
message.setContent(multipart);
return message;
}
public void sendMail(Session session) throws MessagingException, IOException {
Message message = createMail(session);
Transport.send(message);
}
}
private File getFile(String filename) {
try {
URI uri = this.getClass()
.getClassLoader()
.getResource(filename)
.toURI();
return new File(uri);
} catch (Exception e) {
throw new IllegalArgumentException("Unable to find file from resources: " + filename);
}
}
}

View File

@@ -0,0 +1 @@
sample attachment content 2