2

我已经达到了我的 SMTP/postfix 知识的极限。

我正在使用 javamail 1.4 发送邮件。javamail 库正在连接到本地 postfix 进程。postfix 进程被配置为通过 gmail 中继邮件。

relayhost = smtp.gmail.com:587

使用 javamail 库,我正在设置发件人地址。但是,当邮件最终进入我的收件箱时,它来自我用来登录 gmail 服务器的用户。

例如,在我的代码中,我将 from 设置为noreply@example.compostfix 被配置为通过 gmail 中继邮件,它使用user1和密码登录到 smtp 服务器。邮件最终在我的收件箱中,就好像它来自user1@example.com (当我从我的 gmail 收件箱查看“原始”时,没有提到noreply@example.com )。

值得一提的是,我在 javamail 之上使用了 Spring 3.0 的库 (MimeMessageHelper)。

4

1 回答 1

9

Google 正在重写您邮件的标头以匹配 SMTP 会话的经过身份验证的用户。 您可以使用您的 GMail 帐户注册其他电子邮件地址(“自定义发件人地址”),在这种情况下,这些其他地址将在标头中被接受From(尽管 GMail 会在Sender标头中添加经过身份验证的用户)。 如果您选择使用 Google 的 SMTP 服务器,似乎没有办法解决这个问题。

于 2011-01-12T20:58:19.717 回答