如何配置 Postfix 以通过我的 Gmail 帐户发送所有电子邮件?

gma*_*dar 12 php mail postfix 12.04

我正在尝试从我的本地主机通过 Google 发送电子邮件。(通过 PHP5.3)

但谷歌一直在阻止我的请求。

我试图遵循针对一些类似问题的解决方案,但由于某种原因,它们不起作用。

我按照这些说明进行配置 - http://www.dnsexit.com/support/mailrelay/postfix.html

现在是配置数据:

  • 我的 main.cf 文件如下所示:

中继主机 = [smtp.gmail.com]:587
smtp_fallback_relay = [relay.google.com]
smtp_sasl_auth_enable = 是
smtp_sasl_password_maps = 哈希:/etc/postfix/sasl_passwd
smtp_sasl_security_option

  • 我的 sasl_passwd 看起来像这样:

[smtp.gmail.com]:587 mygmailuser@gmail.com:密码

  • 这就是 mail.log 行的样子:

12 月 14 日 10:24:50 COMP-NAME postfix/pickup[5185]:1C3987E0EDD:uid=33 from=

12 月 14 日 10:24:50 COMP-NAME postfix/cleanup[5499]: 1C3987E0EDD: message-id=<20121214082450.1C3987E0EDD@COMP-NAME.localdomain>

12 月 14 日 10:24:50 COMP-NAME postfix/qmgr[5186]: 1C3987E0EDD: from=, size=483, nrcpt=1 (queue active)

12 月 14 日 10:24:50 COMP-NAME postfix/smtp[5501]: 1C3987E0EDD: to=, relay=smtp.gmail.com[173.194.70.109]:587, delay=0.61, delays=0.19/0/1.0. , dsn=5.7.0, status=bounced (host smtp.gmail.com[173.194.70.109] 说: 530 5.7.0 必须先发出STARTTLS命令。w3sm8024250eel.17 (回复MAIL FROM命令))

12 月 14 日 10:24:50 COMP-NAME postfix/cleanup[5499]: C20677E0EDE: message-id=<20121214082450.C20677E0EDE@COMP-NAME.localdomain>

12 月 14 日 10:24:50 COMP-NAME postfix/bounce[5502]:1C3987E0EDD:发件人未送达通知:C20677E0EDE

12 月 14 日 10:24:50 COMP-NAME postfix/qmgr[5186]: C20677E0EDE: from=<>, size=2532, nrcpt=1 (queue active)

12 月 14 日 10:24:50 COMP-NAME postfix/qmgr[5186]:1C3987E0EDD:已删除

Rob*_*sak 14

您需要在 Postfix 的 SMTP 客户端中启用 TLS,因为 Google 需要它。这在消息“必须发出 STARTTLS 命令”中由他们指示。

在 中/etc/postfix/main.cf,你想要这样的东西:

smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
Run Code Online (Sandbox Code Playgroud)

然后在/etc/postfix/tls_policy

[smtp.gmail.com]:587 encrypt
Run Code Online (Sandbox Code Playgroud)

in 的左侧tls_policy必须与您relayhost在 中的输入完全相同main.cf

请记住postmap/etc/postfix/tls_policy根据需要创建或更改后继续运行。

您可以在Postfix 的 TLS 文档中找到更多详细信息。