1 | package parkup.configs.email;
|
---|
2 |
|
---|
3 | import org.slf4j.Logger;
|
---|
4 | import org.slf4j.LoggerFactory;
|
---|
5 | import org.springframework.mail.javamail.JavaMailSender;
|
---|
6 | import org.springframework.mail.javamail.MimeMessageHelper;
|
---|
7 | import org.springframework.scheduling.annotation.Async;
|
---|
8 | import org.springframework.stereotype.Service;
|
---|
9 |
|
---|
10 | import javax.mail.MessagingException;
|
---|
11 | import javax.mail.internet.MimeMessage;
|
---|
12 |
|
---|
13 | @Service
|
---|
14 | public class EmailService implements EmailSender{
|
---|
15 |
|
---|
16 | private final static Logger LOGGER = LoggerFactory.getLogger(EmailService.class);
|
---|
17 | private final JavaMailSender mailSender;
|
---|
18 |
|
---|
19 | public EmailService(JavaMailSender mailSender) {
|
---|
20 | this.mailSender = mailSender;
|
---|
21 | }
|
---|
22 |
|
---|
23 | @Override
|
---|
24 | @Async
|
---|
25 | public void send(String to, String email) {
|
---|
26 | try {
|
---|
27 | MimeMessage mimeMessage = mailSender.createMimeMessage();
|
---|
28 | MimeMessageHelper helper =
|
---|
29 | new MimeMessageHelper(mimeMessage, "utf-8");
|
---|
30 | helper.setText(email, true);
|
---|
31 | helper.setTo(to);
|
---|
32 | helper.setSubject("Confirm your email");
|
---|
33 | helper.setFrom("parkup@gmail.com");
|
---|
34 | mailSender.send(mimeMessage);
|
---|
35 | } catch (MessagingException e) {
|
---|
36 | LOGGER.error("failed to send email", e);
|
---|
37 | throw new IllegalStateException("failed to send email");
|
---|
38 | }
|
---|
39 | }
|
---|
40 | }
|
---|
41 |
|
---|