Java 从SpringBoot 2.1.3.0版本发送电子邮件

Java 从SpringBoot 2.1.3.0版本发送电子邮件,java,spring-boot,smtp,gmail,gmail-imap,Java,Spring Boot,Smtp,Gmail,Gmail Imap,我想从SpringBoot 2.1.3.RELEASE发送一封电子邮件;我已经定义了这些属性: spring.mail.host=smtp.gmail.com spring.mail.username=nunito.calzada@gmail.com spring.mail.password=aMdwd3cded2@ spring.mail.properties.mail.smtp.auth = true spring.mail.properties.mail.smtp.socketFactor

我想从SpringBoot 2.1.3.RELEASE发送一封电子邮件;我已经定义了这些属性:

spring.mail.host=smtp.gmail.com
spring.mail.username=nunito.calzada@gmail.com
spring.mail.password=aMdwd3cded2@
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.socketFactory.port = 465
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback = false
spring.mail.propertirs.mail.smtp.ssl.enable = true
and using org.springframework.mail.MailSender
我正在使用
org.springframework.mail.MailSender

    mailSender.send(mailMessage);
一切似乎都很好,我没有看到任何异常,任何错误,但我没有收到电子邮件,甚至在垃圾邮件中也没有

我也试过了

spring.mail.properties.mail.smtp.socketFactory.port = 587

同样的结果

您的属性文件包含

spring.mail.properties.mail.smtp.socketFactory.port = 465
gmail与TSL/SSL合作

Port for TLS/STARTTLS: 587
    Port for SSL: 465
我建议你使用

spring.mail.properties.mail.smtp.socketFactory.port = 587
而不是465

对于springboot,添加依赖项

某些SMTP服务器需要TLS连接,因此属性 spring.mail.properties.mail.smtp.starttls.enable用于启用 TLS保护连接


传递给SendMail的构造函数(字符串from,…)很重要, 设置: public void sendMail(字符串从, 串到, 字符串主题, 字符串文本, 布尔值isHtmlContent)抛出MessaginException{ mimessage MimeMessage=javamailssender.createmimessage()

其中,发件人必须是发件人的有效电子邮件地址,通常与应用程序中定义的用户名相同。属性:…spring.mail.username:

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
        <version>2.1.3.RELEASE</version>
 </dependency>
spring.mail.protocol=smtp
spring.mail.host: smtp.gmail.com
spring.mail.port: 465
spring.mail.username: <user name>
spring.mail.password: <password>
spring.mail.properties.mail.smtp.auth: true
spring.mail.properties.mail.smtp.starttls.enable: true
mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required: true
spring.mail.properties.mail.smtp.ssl.enable = true
spring.mail.test-connection=
@Autowired
private JavaMailSender 
private void setMailDetailsForSend( final String payload, final String email ) throws MessagingException
{

    final MimeMessage mail = mailSender.createMimeMessage();
    final MimeMessageHelper helper = new MimeMessageHelper( mail, true );
    helper.setTo( email );
    helper.setSubject( "Notification" );
    helper.setText( "text/html", payload );
    mailSender.send( mail );

}
    MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
    **mimeMessageHelper.setFrom(from);**