我在 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/