我目前有一个Spring Boot网络应用程序,我想发送一封包含HTML的电子邮件,以便电子邮件看起来更令人满意。目前我正在使用SimpleMailMessage。
我不想仅仅为了发送格式良好的电子邮件而实现模板引擎。
感谢所有帮助,谢谢。
答案 0 :(得分:1)
如果您实际上正在使用Spring Boot,那么您已经有了一个非常好的发送消息的开始。您的代码可能基于以下简单的内容:
@Component
public class EmailServiceImpl implements EmailService {
@Autowired
public JavaMailSender emailSender;
@Autowired
public MimeMessage mimeMessage;
public void sendMessage() {
helper.setTo("someone@abc.com");
helper.setSubject("This is the test message for testing gmail smtp server using spring mail");
helper.setFrom("abc@gmail.com");
mailSender.send(mimeMessage);
}
}
看起来包含模板的@Configuration
:
@Bean
@Scope("prototype")
public MimeMessage templateSimpleMessage(JavaMailSender mailSender) {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
helper.setText("<h3>Hello World!</h3>");
return message;
}
只需在application.yml
:
# application.yml
spring:
mail:
default-encoding: UTF-8
host: smtp.gmail.com
username: [email protected]
password: secret
port: 587
properties:
mail:
smtp:
auth: true
starttls:
enable: true
protocol: smtp
test-connection: false
如果您想构建更高级的模板,请使用Velocity。 See example.