PHP mail() 无法正常工作,需要帮​​助设置 exim4

PHP mail() 无法正常工作,需要帮​​助设置 exim4

/usr/sbin/sendmail我已设置指向我的 exim 目录的符号链接/usr/sbin/exim4/,以及指向的 php.ini /usr/sbin/sendmail。我的邮件未发送。我不知道该怎么办,但当我尝试重新配置时,它只显示 gui 并直接进入带有 的下一个 bash 行twomuchwork:~# 1;2c1;2c1;2c

更新:我检查了我的 iptables,确保 25 已打开。我认为这可能与 Google 应用有关。此时,我只想能够使用 Google 应用并使用 PHP 发送邮件mail()。我有一些需要的 Web 应用程序mail()。我甚至尝试了这篇文章:如何使用 Google Apps 设置 Ubuntu 邮件服务器?

更新2:我几乎尝试了所有可用的方法。我尝试将 exim4 设置为智能主机,尝试了 sendmail,当我从终端向 @gmail.com 发送电子邮件时,一切都正常,但我仍然无法使 PHP mail() 工作。

答案1

有趣的是,dialog由于某种原因,您的系统似乎出现故障。尝试

dpkg-reconfigure -freadline exim4-config

您可以从终端发送电子邮件吗(例如,然后在一行中输入以 结尾的电子邮件正文)?是打字错误,还是您确实在末尾有一个,因为它不应该在那里。mail [email protected] -s "subject goes here"./usr/sbin/sendmail//

答案2

您似乎认为该问题在某种程度上与 PHP 有关。IME 这种情况很少见,但您没有提供任何有关如何为邮件配置 php 的详细信息。

当我从终端发送时它可以工作,但从 php 发送则不行

您能否提供一份记录,说明您如何从 CLI 发送它。还有二进制文件的权限。当您使用 php 中的 popen() 复制 CLI 命令时会发生什么?

答案3

如果机器不应该接收传入电子邮件尝试安装空邮件程序

# apt-get install nullmailer
# dpkg-reconfigure nullmailer

这并不能解决您的问题,尤其是如果机器也应该接收邮件的话。但绕过它是一种努力。

相关内容