diff --git a/src/main/java/ru/ldeloff/service/DefaultEmailService.java b/src/main/java/ru/ldeloff/service/DefaultEmailService.java new file mode 100644 index 0000000..129b479 --- /dev/null +++ b/src/main/java/ru/ldeloff/service/DefaultEmailService.java @@ -0,0 +1,43 @@ +package ru.ldeloff.service; + +import org.springframework.core.io.FileSystemResource; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.mail.javamail.MimeMessageHelper; +import org.springframework.stereotype.Service; +import org.springframework.util.ResourceUtils; + +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; +import java.io.FileNotFoundException; + +@Service +public class DefaultEmailService implements EmailService { + + public final JavaMailSender emailSender; + + public DefaultEmailService(JavaMailSender emailSender) { + this.emailSender = emailSender; + } + + @Override + public void sendSimpleEmail(String toAddress, String subject, String message) { + SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); + simpleMailMessage.setTo(toAddress); + simpleMailMessage.setSubject(subject); + simpleMailMessage.setText(message); + emailSender.send(simpleMailMessage); + } + + @Override + public void sendEmailWithAttachment(String toAddress, String subject, String message, String attachment) throws MessagingException, FileNotFoundException { + MimeMessage mimeMessage = emailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true); + messageHelper.setTo(toAddress); + messageHelper.setSubject(subject); + messageHelper.setText(message); + FileSystemResource file = new FileSystemResource(ResourceUtils.getFile(attachment)); + messageHelper.addAttachment("Purchase Order", file); + emailSender.send(mimeMessage); + } +} \ No newline at end of file diff --git a/src/main/java/ru/ldeloff/service/EmailService.java b/src/main/java/ru/ldeloff/service/EmailService.java new file mode 100644 index 0000000..bbc7aef --- /dev/null +++ b/src/main/java/ru/ldeloff/service/EmailService.java @@ -0,0 +1,9 @@ +package ru.ldeloff.service; + +import javax.mail.MessagingException; +import java.io.FileNotFoundException; + +public interface EmailService { + void sendSimpleEmail(final String toAddress, final String subject, final String message); + void sendEmailWithAttachment(final String toAddress, final String subject, final String message, final String attachment) throws MessagingException, FileNotFoundException; +}