PHP sendmail 在 Ubuntu 命令行中工作,但不能从 php 文件中工作

标签 php apache ubuntu sendmail

我在 Ubuntu 上用 PHP 和 apache 安装了 sendmail。当我尝试以下命令行时

php -r "mail('test@gmail.com', 'test', 'test')"'

邮件发送成功。

但是,运行文件“test_send_mail.php”时:

<?php
mail('test@gmail.com', 'test', 'test')
?>

不发送电子邮件。

对 .php 文件的不成功尝试生成日志条目:

`Jul  5 21:24:47 www sendmail[25603]: p661OlL7025603: from=www-data, size=106, class=0,

nrcpts=0, msgid=<201107060124.p661OlL7025603@www.server.com>, relay=www-data@localhost

使用命令行的成功尝试生成日志条目:

    Jul  5 21:22:40 www sm-mta[25533]: p661MevV025533: from=<root@www.server.com>, 
size=352, class=0, nrcpts=1, msgid=<201107060122.p661Mecm025532@www.server.com>, 
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]

有人知道会发生什么吗?感谢您的帮助!

最佳答案

PHP 根据环境有单独的 ini 文件:

  • cli/php.ini
  • cgi/php.ini
  • php.ini

确保您已对所有文件进行了所有适当的更改,cgi 通常用于 Nginx 和 Lighttpd,但请复制所有 3 个文件中的设置以确保。

您还可以运行 phpinfo(); 函数来查看实际使用的设置。

这也可能是直接修复:PHP mail issue with www-data

关于PHP sendmail 在 Ubuntu 命令行中工作,但不能从 php 文件中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590934/

相关文章:

linux - 并行错误 : "Image BSS overlaps adjacent EFI memory region"

php通过字符串访问类

php - 使用 OOP 在 wordpress 中添加 Action ?

php - 使用 php 在导航菜单中设置文件权限

apache - 试图将 blog.domain.com 重定向到 www.domain.com/blog/

Linux "mv"命令,创建一个新文件(没有可用文件夹时)

PHP OOP,类里面的良好实践

java - "Updating status for Apache Tomcat v7.0 at localhost..."。 java.lang.IndexOutOfBoundsException

apache - @ 符号在 mod_rewrite 规则中是什么意思

c++ - 由于 opencv_xphoto,使用 opencv_contrib 在 Ubuntu 上进行 OpenCV 制作失败