Java 在我的Spring Boot web应用程序中,如何在没有模板引擎的情况下发送包含html的电子邮件>

Java 在我的Spring Boot web应用程序中,如何在没有模板引擎的情况下发送包含html的电子邮件>,java,html,spring,email,spring-boot,Java,Html,Spring,Email,Spring Boot,我目前有一个SpringBootWeb应用程序,我想发送一封包含HTML的电子邮件,这样电子邮件看起来更令人愉快。目前我正在使用SimpleEmailMessage 我不希望仅仅为了发送格式良好的电子邮件而实现模板引擎 非常感谢您的帮助,谢谢 如果您实际上使用的是Spring Boot,那么您在发送消息方面就有了一个非常好的开端。您的代码可以松散地基于以下简单内容: @Component public class EmailServiceImpl implements EmailService

我目前有一个SpringBootWeb应用程序,我想发送一封包含HTML的电子邮件,这样电子邮件看起来更令人愉快。目前我正在使用SimpleEmailMessage

我不希望仅仅为了发送格式良好的电子邮件而实现模板引擎


非常感谢您的帮助,谢谢

如果您实际上使用的是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);
    }
}
看起来包含您的模板的@配置:

@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;
}

如果要构造更高级的模板,请使用

您根本不需要模板引擎。当然,这将更容易,但这取决于您的用例。但是,您可能想看看用于发送html邮件的JavaMail MIMessages。
# 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