我正在尝试从我的本地主机通过 Google 发送电子邮件。(通过 PHP5.3)
但谷歌一直阻止我的请求。
我尝试按照几个类似问题给出的解决方案进行操作,但由于某种原因,它们不起作用。
我按照这些说明进行配置 -http://www.dnsexit.com/support/mailrelay/postfix.html
现在来看看配置数据:
- 我的 main.cf 文件如下所示:
Relayhost = [smtp.gmail.com]:587
smtp_fallback_relay = [relay.google.com]
smtp_sasl_auth_enable = 是
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
- 我的 sasl_passwd 看起来像这样:
[smtp.gmail.com]:587 [电子邮件保护]:密码
- mail.log 中的行如下所示:
12 月 14 日 10:24:50 COMP-NAME 后缀/拾取[5185]: 1C3987E0EDD: uid=33 来自=
12 月 14 日 10:24:50 COMP-NAME postfix/cleanup[5499]: 1C3987E0EDD: message-id=<[电子邮件保护]>
12 月 14 日 10:24:50 COMP-NAME postfix/qmgr[5186]: 1C3987E0EDD: from=、size=483、nrcpt=1(队列活动)
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/0.32/0.1,dsn=5.7.0,status=bounced (host smtp.gmail.com[173.194.70.109] said: 530 5.7.0 必须先发出 STARTTLS 命令。w3sm8024250eel.17(回复 MAIL FROM 命令))
12 月 14 日 10:24:50 COMP-NAME postfix/cleanup[5499]: C20677E0EDE: message-id=<[电子邮件保护]>
12 月 14 日 10:24:50 COMP-NAME 后缀/退回 [5502]: 1C3987E0EDD: 发件人未送达通知: C20677E0EDE
12 月 14 日 10:24:50 COMP-NAME postfix/qmgr[5186]: C20677E0EDE: from=<>, size=2532, nrcpt=1 (队列活动)
12 月 14 日 10:24:50 COMP-NAME postfix/qmgr[5186]: 1C3987E0EDD: 已删除
答案1
您需要在 Postfix 的 SMTP 客户端中启用 TLS,因为 Google 要求这样做。他们在“必须发出 STARTTLS 命令”消息中指出了这一点。
在 中/etc/postfix/main.cf
,你想要这样的东西:
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
然后在/etc/postfix/tls_policy
:
[smtp.gmail.com]:587 encrypt
中的左侧必须与您在 中的输入tls_policy
完全相同。relayhost
main.cf
请记住根据需要创建或更改后继续postmap
运行。/etc/postfix/tls_policy
更多详细信息请访问Postfix 的 TLS 文档。
答案2
这非常简单的教程对我帮助很大。
它提供了非常相同的信息,但对我有用。