如何配置Postfix以通过我的Gmail帐户发送所有电子邮件?
我正在尝试通过Google从我的localhost发送电子邮件。 (通过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 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后缀/清理[5499]:1C3987E0EDD:message-id =
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后缀/ smtp [5501]:1C3987E0EDD:to =,relay = smtp.gmail.com [173.194.70.109]:587,延迟= 0.61,延迟= 0.19 / 0 / 0.32 / 0.1 ,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后缀/清理[5499]:C20677E0EDE:message-id =
12月14日10:24:50 COMP-NAME后缀/跳出[5502]:1C3987E0EDD:发件人未送达通知:C20677E0EDE
12月14日10:24:50 COMP-NAME后缀/ qmgr [5186]:C20677E0EDE:from = ,size = 2532,nrcpt = 1(队列激活)
12月14日10:24:50 COMP-NAME postfix / qmgr [5186]:1C3987E0EDD:删除
您需要在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
的左侧必须与main.cf
的relayhost
条目完全相同。
请记住在根据需要创建或更改后在/etc/postfix/tls_policy
上运行/etc/postfix/tls_policy
。
您可以在Postfix的TLS文档中找到更多详细信息。
这个非常简单的教程帮助我做了很多。
它给出了相同的信息,但它对我有用。
请关注Ubuntu GmailPostfixFetchmail社区文档