SpringBoot—在java中,不启用不太安全的应用程序选项的情况下,从任何虚拟帐户发送邮件

2ic8powd  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(248)

**Current code**  

    @Autowired
    private JavaMailSender emailSender;
    MimeMessage message = emailSender.createMimeMessage();      
    MimeMessageHelper helper = new MimeMessageHelper(message , true);
    helper.setTo(InternetAddress.parse(userData.getEmailId())); 
    helper.setSubject("Subject");
    helper.setText("some text");
    emailSender.send(message);

应用程序属性:

spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.protocol=smtp
spring.mail.defaultEncoding=UTF-8
spring.mail.username=dummy@gmail.com //only gmail id is working as i have enabled less secure app
spring.mail.password= password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

此代码只能从gmail发送电子邮件(为不太安全的应用程序启用),它可以发送邮件,但我想要的是,邮件应发送任何公司id而不是gmail,尝试添加其他电子邮件id在此代码中,但得到错误为“用户名和密码不接受”,有人能建议我需要做些什么改变才能使它适用于任何电子邮件id吗?如果有的话,请建议最好的方法?

yws3nbqq

yws3nbqq1#

这在gmail中是不可能的。gmail只允许你从自己的gmail帐户发送电子邮件,因为如果他们允许其他帐户,那么这将有效地把gmail变成你的个人通用邮件服务器,而事实并非如此。
您将需要使用一个适当的邮件服务器或设置自己的。或者,您可以考虑将自己的java邮件服务器集成到应用程序中(我不建议这样做)。

相关问题