Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Data
- public class Message {
- private String title;
- private String message;
- }
- @Configuration
- public class MailConfig {
- @Value("${spring.mail.host}")
- private String host;
- @Value("${spring.mail.username}")
- private String username;
- @Value("${spring.mail.password}")
- private String password;
- @Value("${spring.mail.port}")
- private int port;
- @Value("${spring.mail.protocol}")
- private String protocol;
- @Value("${mail.debug}")
- private String debug;
- @Bean
- public JavaMailSender getMailSender() {
- JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
- mailSender.setHost(host);
- mailSender.setPort(port);
- mailSender.setUsername(username);
- mailSender.setPassword(password);
- Properties properties = mailSender.getJavaMailProperties();
- properties.setProperty("mail.transport.protocol", protocol);
- properties.setProperty("mail.debug", debug);
- return mailSender;
- }
- }
- @Service
- @RequiredArgsConstructor
- public class MailSenderService {
- private final JavaMailSender mailSender;
- @Value("${spring.mail.receiver}")
- private String emailTo;
- @Value("${spring.mail.username}")
- private String emailFrom;
- private void send(String subject, String message) {
- SimpleMailMessage mailMessage = new SimpleMailMessage();
- mailMessage.setFrom(emailFrom);
- mailMessage.setTo(emailTo);
- mailMessage.setSubject(subject);
- mailMessage.setText(message);
- mailSender.send(mailMessage);
- }
- public void sendMessage(String title, String message) {
- if (!(StringUtils.isEmpty(title) && StringUtils.isEmpty(message))) {
- String msg = String.format(
- "Andrew, you have got message, title: %s, message: %s",
- title, message);
- send(title, message);
- }
- }
- }
- @PostMapping("/send")
- public String sendMessage(Message msg, Model model, BindingResult bindingResult) {
- if (bindingResult.hasErrors()) {
- return "main";
- }
- model.addAttribute("msg", msg);
- mailService.sendMessage(msg.getTitle(), msg.getMessage());
- return "main";
- }
- <h1>Send me a message on e-email</h1>
- <form action="/send" th:action="@{/send}" th:object="${msg}" method="post">
- <p>
- <label>Title:
- <input type="text" th:field="${msg.title}"/>
- </label>
- </p>
- <p>
- <label>Message:
- <input type="text" th:field="${msg.message}"/>
- </label>
- </p>
- <p>
- <input type="submit" value="Submit"/>
- <input type="reset" value="Reset"/>
- </p>
- </form>
- spring.mail.receiver=
- spring.mail.host=smtp.gmail.com
- spring.mail.username=
- spring.mail.password=
- spring.mail.port=465
- spring.mail.protocol=smtps
- mail.debug=false
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement