![当 MX 记录将所有邮件流量重定向到另一台服务器时,使 PHP mail() 正常工作。(Postfix、sendmail)](https://linux22.com/image/559555/%E5%BD%93%20MX%20%E8%AE%B0%E5%BD%95%E5%B0%86%E6%89%80%E6%9C%89%E9%82%AE%E4%BB%B6%E6%B5%81%E9%87%8F%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%B6%EF%BC%8C%E4%BD%BF%20PHP%20mail()%20%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E3%80%82%EF%BC%88Postfix%E3%80%81sendmail%EF%BC%89.png)
一些背景信息:我有一个网站(假设为“example.com”),运行在 LAMP 服务器(ubuntu 10.04)上,所有邮件流量都由外部电子邮件服务处理。我的 DNS 记录设置为 MX 记录指向外部电子邮件服务器(一切正常)。Postfix 已安装但未配置(我认为我需要设置“空客户端”?)。PHP ini 的 sendmail_path 设置为默认值。我对 sendmail(以及一般邮件)了解不多,但我可以看到它位于默认的 php sendmail 路径上。所以我试图从[电子邮件保护]通过 PHP 的 mail() 函数发送给客户端,但显然没有发送电子邮件。我该如何修复/跟踪发生的情况(同时保持 MX 记录不变)?
答案1
如果未配置并启动 postfix,您的电子邮件将进入队列。您可以看到它们从 shell 发出“mailq”。您应该将 postfix 配置为自行发送所有电子邮件(自治系统)或通过智能主机(可能是您的域服务器)发送所有电子邮件。如何配置在很大程度上取决于您的网站托管(它是否允许直接发送邮件?)和您的邮件托管(它是否接受来自您网站的中继?)。