Spring MVC 使用java发送电子邮件:验证失败异常:不接受用户名和密码

qaxu7uf2  于 2022-11-14  发布在  Spring
关注(0)|答案(2)|浏览(176)

我看到了类似的问题,但没有一个对我有帮助。我打算使用javaMailSender发送一封电子邮件。虽然我确信我使用了有效的凭据,但它抱怨我的用户名和密码不正确。因此,以下是属性:

spring.mail.host=smtp.gmail.com
spring.mail.username=myemail@gmail.com
spring.mail.password= mypassword

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.fallback= false
spring.mail.properties.mail.smtp.ssl.enable=true

然后在sender类中创建一个用于注入的Bean:

@Configuration
public class MailConfig {

    @Autowired
    JavaMailSender javaMailSender;

    @Bean
    @ConditionalOnProperty("spring.mail.host")
    public SmtpkMailSender getMockMailSender(){
        return new SmtpkMailSender(javaMailSender);
    }

}

sender类只有一个方法,该方法从以下接口获取:

public interface MailSender {
    void sender(String to, String subject,String body);
}

最后,这里是发件人:

public class SmtpkMailSender implements MailSender   {

    static Log log=LogFactory.getLog(MailSender.class); 

    JavaMailSender javaMailSender;

    public SmtpkMailSender(JavaMailSender javaMailSender){
        this.javaMailSender=javaMailSender;
    }

    public void sender(String to, String subject,String body){
        MimeMessage message=javaMailSender.createMimeMessage();
        try {
            MimeMessageHelper helper=new MimeMessageHelper(message,true);
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(body);
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

}

既然我对你的事不确定
请myemail@gmail.com和密码
我转到链接https://myaccount.google.com/u/1/lesssecureapps?pageId=none并将其设置为***上的***,但它仍然抱怨以下错误:
错误如下:

javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials n29sm260426lfi.27 - gsmtp
d4so4syb

d4so4syb1#

请尝试重新设置您的电子邮件密码,并尝试使用新密码登录。另外,请确保您的用户名(电子邮件地址)的结尾是@gmail.com。另外,请确保您的用户名和密码都是字符串(用引号表示)。
示例:

spring.mail.username = "myemail@gmail.com"
spring.mail.password= "mypassword"
efzxgjgh

efzxgjgh2#

我也遇到了同样的问题,因为我正在使用的生成密码停止工作。我不得不去重新生成新的应用程序密码在我的谷歌帐户,这是16。

然后把16值作为密码,它的工作。

相关问题