【问题标题】:org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: ;org.springframework.mail.MailAuthenticationException:身份验证失败;嵌套异常是 javax.mail.AuthenticationFailedException: ;
【发布时间】:2020-05-09 23:43:50
【问题描述】:

我正在尝试从我的 springboot 应用程序发送电子邮件并收到以下错误

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: ;
  nested exception is:
    javax.mail.MessagingException: Exception reading response;
  nested exception is:
    java.net.SocketTimeoutException: Read timed out] with root cause

这是我的属性文件的样子

application.properties

spring.mail.properties.mail.smtp.connecttimeout=5000
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.writetimeout=5000
spring.mail.host=smtp.office365.com
spring.mail.password=<passwordhere>
spring.mail.port=587
spring.mail.username=kshitij_kohli@intuit.com
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smpt.auth=true

EmailSender.java

package com.intuit.utils;

import javax.mail.internet.MimeMessage;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;

import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

@Service
public class EmailSender {

    @Value("${spring.mail.username}")
    private String from;

    @Autowired
    private JavaMailSender javaMailSender;

    public void sendMail(String to) throws MessagingException, javax.mail.MessagingException {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper;
        helper = new MimeMessageHelper(message, true);//true indicates multipart message

        helper.setFrom(from);

        String subject = "some subbject";

        String body = "some body";


        helper.setSubject(subject);
        helper.setTo(to);
        helper.setText(body, true);//true indicates body is html
        javaMailSender.send(message);
    }
}

我似乎缺少一些身份验证。我必须使用该应用向我所在组织的公司帐户发送电子邮件。

【问题讨论】:

    标签: java spring-boot email smtp jakarta-mail


    【解决方案1】:

    该组织似乎阻止了身份验证,并且邮件需要一些特定于组织的步骤才能通过 - 属性文件本身没有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      • 2018-01-06
      • 2013-04-22
      • 2018-07-07
      • 1970-01-01
      相关资源
      最近更新 更多