Java 带有绿色邮件的Spring电子邮件:身份验证凭据无效

Java 带有绿色邮件的Spring电子邮件:身份验证凭据无效,java,spring,junit,jakarta-mail,greenmail,Java,Spring,Junit,Jakarta Mail,Greenmail,我正在尝试使用Greenmail为Spring电子邮件编写测试代码。这在1.5.5版本的Greenmail中非常有效,但是当我尝试更新Greenmail版本(1.5.6到1.5.11)时,它总是给我一个错误535 5.7.8身份验证凭据无效 应用程序属性 spring.mail.default-encoding=UTF-8 spring.mail.host=localhost spring.mail.port=3025 spring.mail.jndi-name= spring.mail.tes

我正在尝试使用Greenmail为Spring电子邮件编写测试代码。这在1.5.5版本的Greenmail中非常有效,但是当我尝试更新Greenmail版本(1.5.6到1.5.11)时,它总是给我一个错误535 5.7.8身份验证凭据无效

应用程序属性

spring.mail.default-encoding=UTF-8
spring.mail.host=localhost
spring.mail.port=3025
spring.mail.jndi-name=
spring.mail.test-connection=false 
spring.mail.username=username     
spring.mail.password=secret
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls=true
spring.mail.properties.mail.smtp.debug=false
这是我的密码

protected static GreenMail smtpServer;

@Autowired
protected EmailRepository emailRepository;

@BeforeClass
public static void beforeClass() {

    smtpServer = new GreenMail(new ServerSetup(3025, null, ServerSetup.PROTOCOL_SMTP ));
    smtpServer.setUser("username", "secret");
    smtpServer.start();
}

@Before
public void before() {
    emailRepository.deleteAll();
    smtpServer.reset();
}

@After
public void after() {
    emailRepository.deleteAll();
}

@AfterClass
public static void afterClass() {
    smtpServer.stop();
}

protected List<Email> createEmailRequests(int size, EmailStatus status) {
    int counter = 0;
    List<Email> emails = new ArrayList<>();

    do {
        MetaInfo metaInfo = new MetaInfo();
        //metainfo details

        Email email = new Email();
        //email details
        emails.add(email);

        counter++;
    } while (counter < size);

    emailRepository.saveAll(emails);
    return emails;
}
受保护的静态绿色邮件smtpServer;
@自动连线
受保护的EmailRepository EmailRepository;
@课前
类()之前的公共静态void{
smtpServer=new GreenMail(new ServerSetup(3025,null,ServerSetup.PROTOCOL_SMTP));
setUser(“用户名”、“密码”);
smtpServer.start();
}
@以前
在()之前公开无效{
emailRepository.deleteAll();
smtpServer.reset();
}
@之后
在()之后公共无效{
emailRepository.deleteAll();
}
@下课
公共静态void afterClass(){
smtpServer.stop();
}
受保护列表createEmailRequests(整数大小、EmailStatus状态){
int计数器=0;
列出电子邮件=新建ArrayList();
做{
MetaInfo MetaInfo=新的MetaInfo();
//metainfo详细信息
电子邮件=新电子邮件();
//电子邮件详细信息
电子邮件。添加(电子邮件);
计数器++;
}而(计数器<大小);
emailRepository.saveAll(电子邮件);
回复邮件;
}

我在1.5.13中遇到了同样的问题,如果您从配置/代码中删除凭据,它将起作用

# spring.mail.username=username     
# spring.mail.password=secret
通过
beforeClass()
方法:

// smtpServer.setUser("username", "secret");
Greenmail接受所有入站连接,无需进行身份验证,但不清楚1.5.5为什么会这样工作,以及为什么在较新版本中不会这样工作。

每个版本都显示了什么?