如何配置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.cfrelayhost条目完全相同。

请记住在根据需要创建或更改后在/etc/postfix/tls_policy上运行/etc/postfix/tls_policy

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

这个非常简单的教程帮助我做了很多。

它给出了相同的信息,但它对我有用。

请关注Ubuntu GmailPostfixFetchmail社区文档