PHP mail() 当我使用此命令时工作正常
php -r "mail('pzuraq@gmail.com', 'Test Email', 'Test email body');"
但是,当我尝试通过网页运行它时,它不起作用。我在/etc/msmtprc 中使用全局配置文件,尽管我正在考虑尝试复制它并将所有权交给 apache,因为显然 msmtp 对配置文件和权限很奇怪(当前用户必须拥有该文件并且权限必须是 600),但这不适用于全局配置。
当我在网页上运行mail()
函数时,它返回 false 并且不会在日志中打印任何错误。
关键是你有不同的 cli 和 apache php 可执行文件php.ini
文件。 所以你的cli php.ini版本是按预期配置的,但你的apache php.ini(或者更确切地说,你的Web服务器的php.ini
可能没有正确配置。
换句话说,命令行 php 和 web php 使用不同的配置。