Error: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 : Recipient address rejected: SASLUsername Domain and Sender Domain Are Differnet

Error: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 : Recipient address rejected: SASLUsername Domain and Sender Domain Are Differnet

我正在尝试使用 JavaMailSender 发送电子邮件。我可以使用此配置向我的 gmail 帐户发送电子邮件。

mail:
        host: smtp.gmail.com
        port: 587
        username: xyz*****@gmail.com
        password: ***************
        protocol: smtp
        properties.mail.smtp:
            auth: true
            starttls.enable: true
            ssl.trust: smtp.gmail.com

但是当我使用具有以下配置的另一台服务器时,我得到这个 错误:“com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 **********@gmail.com:收件人地址被拒绝:SASLUsername 域和发件人域不同 - 发件人被阻止"

mail:
        host: mail.xyz***xyz.com
        port: 25 (or 587)
        username: noreply@xyz***xyz.com
        password: **************
        protocol: smtp
        properties.mail.smtp:
            auth: true
            starttls.enable: false
            ssl.trust: mail.xyz***xyz.com
            sockeFactory.class: javax.net.ssl.SSLSocketFactory
            ssl.protocols: TLSv1

当我更改 starttls.enable: true 我得到错误:javax.mail.MessagingException: 无法将套接字转换为 TLS;嵌套异常是:javax.net.ssl.SSLHandshakeException:证书不符合算法约束

在我 删除 sockeFactory.class: javax.net.ssl.SSLSocketFactory 和 ssl.protocols: TLSv1 之后,我得到 Error : the-server-所选协议版本-tls10 未被客户端首选项接受

谁能帮我解决这些配置问题。

发生这种情况是因为 Zimbra 的设置确保用于发送和身份验证的凭据必须相同。请检查您的代码以确保您的 javamail From 和 auth 使用相同的电子邮件地址。这应该可以解决错误。