【问题标题】:From email address changes after email is sent (GMail postfix relay) [closed]发送电子邮件后从电子邮件地址更改(GMail 后缀中继)[关闭]
【发布时间】:2011-06-07 11:25:12
【问题描述】:

我的 SMTP/后缀知识已达到极限。

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

relayhost = smtp.gmail.com:587

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

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

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

【问题讨论】:

  • 我会尝试手动发送相同的电子邮件,即完全没有 Java/Spring 代码。在您的命令行中尝试使用“telnet smtp.local.network 110”等。如果您遇到同样的问题,则表示问题出在 SMTP 基础架构上。否则你会想看看你是如何用 Java 发送电子邮件的。

标签: java spring gmail jakarta-mail postfix-mta


【解决方案1】:

Google 正在重写您邮件的标头以匹配 SMTP 会话的经过身份验证的用户。 You can register other email addresses with your GMail account(“自定义发件人地址”),在这种情况下,From 标头中将接受这些其他地址(尽管 GMail 将在 Sender 标头中添加经过身份验证的用户)。 If you choose to use Google's SMTP server, there appears to be no way around this.

【讨论】:

  • 这是为了防止人们从他们无权发送的地址发送邮件...
  • 这对我来说很有意义,谢谢你的回答,dkarp。我现在正在测试解决方案。
  • 而且,仅供参考,该解决方案有效。
猜你喜欢
  • 2013-04-25
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 2011-07-21
  • 2014-11-21
  • 2010-10-19
  • 1970-01-01
  • 2016-11-04
相关资源
最近更新 更多