Spring Boot 透過 Gmail SMTP 寄信
在 WordPress Useful Plugin – 使用 WP Mail SMTP 透過 GMail 來寄信 是讓 WordPress 可以透過 Goole API 的方式來寄信,而在 Spring Boot 中也可以透過客製程式來達成這功能。
- 在 build.gradle 加入 dependencies: spring-boot-starter-mail
- compile("org.springframework.boot:spring-boot-starter-mail") // Mail
- 在 application.properties 加入連結到 Gmail 的參數
- # =================================
- # =================================
- spring.mail.default-encoding=UTF-8
- # Gmail SMTP
- spring.mail.host=smtp.gmail.com
- # TLS , port 587
- spring.mail.port=587
- spring.mail.username=my.account@gmail.com
- spring.mail.password=my.password
- # Other properties
- spring.mail.properties.mail.smtp.auth=true
- spring.mail.properties.mail.smtp.starttls.enable=true
- spring.mail.properties.mail.smtp.starttls.required=true
在 application.properties 這些的參數設定,也可以透過下方的程式碼來達成。
- @Configuration
- public class MailConfig {
- @Bean
- public JavaMailSender getJavaMailSender() {
- JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
- mailSender.setHost("smtp.gmail.com");
- mailSender.setPort(587);
- mailSender.setUsername("my.gmail@gmail.com");
- mailSender.setPassword("my.password");
- Properties props = mailSender.getJavaMailProperties();
- props.put("mail.transport.protocol", "smtp");
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.starttls.enable", "true");
- props.put("mail.smtp.starttls.required", "true");
- props.put("mail.debug", "true");
- return mailSender;
- }
- }