Advertisement
Guest User

Untitled

a guest
Mar 28th, 2020
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. @Data
  2. public class Message {
  3.     private String title;
  4.     private String message;
  5. }
  6.  
  7. @Configuration
  8. public class MailConfig {
  9.  
  10.     @Value("${spring.mail.host}")
  11.     private String host;
  12.  
  13.     @Value("${spring.mail.username}")
  14.     private String username;
  15.  
  16.     @Value("${spring.mail.password}")
  17.     private String password;
  18.  
  19.     @Value("${spring.mail.port}")
  20.     private int port;
  21.  
  22.     @Value("${spring.mail.protocol}")
  23.     private String protocol;
  24.  
  25.     @Value("${mail.debug}")
  26.     private String debug;
  27.  
  28.     @Bean
  29.     public JavaMailSender getMailSender() {
  30.         JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
  31.  
  32.         mailSender.setHost(host);
  33.         mailSender.setPort(port);
  34.         mailSender.setUsername(username);
  35.         mailSender.setPassword(password);
  36.  
  37.         Properties properties = mailSender.getJavaMailProperties();
  38.  
  39.         properties.setProperty("mail.transport.protocol", protocol);
  40.         properties.setProperty("mail.debug", debug);
  41.  
  42.         return mailSender;
  43.     }
  44.  
  45. }
  46.  
  47. @Service
  48. @RequiredArgsConstructor
  49. public class MailSenderService {
  50.  
  51.     private final JavaMailSender mailSender;
  52.  
  53.     @Value("${spring.mail.receiver}")
  54.     private String emailTo;
  55.  
  56.     @Value("${spring.mail.username}")
  57.     private String emailFrom;
  58.  
  59.     private void send(String subject, String message) {
  60.         SimpleMailMessage mailMessage = new SimpleMailMessage();
  61.  
  62.         mailMessage.setFrom(emailFrom);
  63.         mailMessage.setTo(emailTo);
  64.         mailMessage.setSubject(subject);
  65.         mailMessage.setText(message);
  66.  
  67.         mailSender.send(mailMessage);
  68.     }
  69.  
  70.     public void sendMessage(String title, String message) {
  71.         if (!(StringUtils.isEmpty(title) && StringUtils.isEmpty(message))) {
  72.             String msg = String.format(
  73.                     "Andrew, you have got message, title: %s, message: %s",
  74.                     title, message);
  75.  
  76.             send(title, message);
  77.         }
  78.     }
  79. }
  80.  
  81. @PostMapping("/send")
  82.     public String sendMessage(Message msg, Model model, BindingResult bindingResult) {
  83.         if (bindingResult.hasErrors()) {
  84.             return "main";
  85.         }
  86.         model.addAttribute("msg", msg);
  87.  
  88.         mailService.sendMessage(msg.getTitle(), msg.getMessage());
  89.  
  90.         return "main";
  91.     }
  92.  
  93. <h1>Send me a message on e-email</h1>
  94. <form action="/send" th:action="@{/send}" th:object="${msg}" method="post">
  95.     <p>
  96.         <label>Title:
  97.             <input type="text" th:field="${msg.title}"/>
  98.         </label>
  99.     </p>
  100.     <p>
  101.         <label>Message:
  102.             <input type="text" th:field="${msg.message}"/>
  103.         </label>
  104.     </p>
  105.     <p>
  106.         <input type="submit" value="Submit"/>
  107.         <input type="reset" value="Reset"/>
  108.     </p>
  109. </form>
  110.  
  111. spring.mail.receiver=
  112.  
  113. spring.mail.host=smtp.gmail.com
  114. spring.mail.username=
  115. spring.mail.password=
  116. spring.mail.port=465
  117. spring.mail.protocol=smtps
  118. mail.debug=false
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement