使用Postfix在Mountain Lion上发送电子邮件时出现配置问题


Configuration issue when sending email on Mountain Lion using Postfix

我整个下午和今晚都在纠结这个问题,但找不到答案。但我相信这是山狮的一些简单配置问题。

我想用PHP发送电子邮件,我安装了PEAR:Mail包;一切都很好。

但当我尝试用PHP发送电子邮件时,它不会给我任何错误;但未收到电子邮件。

我进一步深入研究了这个问题,发现我需要正确设置我的本地后缀邮件程序。因此,我遵循以下文章进行设置:http://benjaminrojas.net/configuring-postfix-to-send-mail-from-mac-os-x-mountain-lion/#comment-259;当这不起作用时,我改为遵循:http://slashusr.wordpress.com/2012/02/14/enabling-postfix-for-outbound-relay-via-gmail-on-os-x-lion-11/.博客文章中的基本步骤是教你如何通过在/etc/postfix/main.cf 中进行一些设置来使用GMail发送

但当我用命令在终端中测试它时:

date | mail -s test <my_email_address>

什么也没发生,只是当我再次键入"邮件"时,它提示我一条新消息,告诉我这个错误(部分,只是我认为有用的):

:host smtp.gmail.com[209.85.225.108]说:530-5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257aa4sm11414435igc.15(回复MAIL FROM命令)

--1306515822A0.13347279593/songyy.local内容描述:交付报告内容类型:消息/交付状态

我访问了错误消息中给出的链接,但它无关紧要。

如果有人能就此给我一些建议,我将不胜感激。

我想用PHP发送电子邮件,我安装了PEAR:Mail包;一切都很好。

很好。然后,您必须有一个"邮件中继服务器"地址,邮件将发送到该地址。它通常由您的互联网提供商提供。

您必须将该地址配置为Postfix中的relayhost。通常不需要其他设置。

您遵循的配方要复杂得多,因为它需要Postfix连接到GMail并作为用户进行身份验证,所有这些都是通过TLS/SSL进行的。为此,您必须将GMail帐户(或为此创建的另一个帐户)的用户名和密码存储在后缀passwd文件中。

GMail抱怨"需要身份验证"的事实告诉我们,要么您跳过了此详细信息,要么您存储了错误的密码;所以GMail无法通过电子邮件转发过程。

请注意,如果您只使用纯SMTP,则出站电子邮件将以明文形式发送(而不是使用SSL加密的GMail)。

如果你需要详细了解你的邮件发生了什么,请查看系统日志。

另一件需要注意的事情,你说:

我通过设置指定了该文件:smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd

该文件应采用特定格式(记录在文件本身中)。不过,在那之后,您必须将文件转换为哈希文件

postmap -c /etc/postfix /etc/postfix/sasl_passwd

这将获取/etc/postfix/sasl_passwd并将其散列到/etc/postfix/sasl_passwd.db中,这是Postfix检查的实际文件。这一特定细节可能在您学习的教程中没有涉及,Postfix仍在检查一个.db文件,该文件是从以前的(也是空的!)sasl_passwd构建的。

你说得很对,通过在PEAR中指定用户、主机和传递,你实际上覆盖了Postfix配置——我认为Mail包执行所谓的直接到MX的交换,因此根本不需要Postfix。

日志文件应在main.conf中指定,通常为/var/log/messages/var/log/mail(.something)