0

我有一个 Apache James 服务器,我可以通过 IMAP 而不是 SMTP 使用 Java Mail API 连接到它。这是我得到的错误:

Error sending message javax.mail.SendFailedException: Invalid Addresses;  nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 530 5.7.1 Authentication Required

这就是我创建会话的方式

Session session = Session.getInstance(getMailServerProperties().getProperties());

特性

spring:
  mail:
    host: localhost
    port: 25
    properties.mail.smtp.auth: true
    properties.mail.smtp.starttls.enable: true
    properties.mail.imap.host: localhost
    properties.mail.imap.port: 143
    properties.mail.imap.starttls.enable: true
    password: *****

连接代码

    try(Transport transport = session.getTransport(SMTP)) {
        transport.connect(getMailServerProperties().getHost(), Integer.valueOf(getMailServerProperties().getPort()).intValue(), username, password);
        transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
    } catch (MessagingException e) {
        LOGGER.info("Cause {}", e.getCause().getMessage());
        LOGGER.error(ERROR_SENDING_MESSAGE_FOR_USER, username, e.getMessage());
        throw new MessageSendException(e);
    }

有任何想法吗?使用 Spring Boot 版本 2.5.4、Java 8 和 Apache James 的 dockerized 版本

谢谢

4

0 回答 0