我在Ubuntu上安装了PHP和Apache的sendmail。当我尝试以下命令行时PHP的sendmail在Ubuntu的命令行工作,但不是从一个PHP文件
php -r "mail('[email protected]', 'test', 'test')"'
它成功发送电子邮件。
然而,与运行文件 “test_send_mail.php”:
<?php
mail('[email protected]', 'test', 'test')
?>
不发送电子邮件。
与PHP文件的不成功尝试生成的日志条目:
`Jul 5 21:24:47 www sendmail[25603]: p661OlL7025603: from=www-data, size=106, class=0,
nrcpts = 0,MSGID = < [email protected]>,中继= WWW的数据@本地
用命令行的成功尝试生成日志条目:
Jul 5 21:22:40 www sm-mta[25533]: p661MevV025533: from=<[email protected]>,
size=352, class=0, nrcpts=1, msgid=<[email protected]>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
没有人有任何想法可能发生?感谢您的帮助!
的PHP'邮件()'函数实际上是相当有限的和古怪。如果您打算向您的网站或用户发送电子邮件,则应使用适当的库,例如PHPMailer。这给你一些附件处理和更好的头文件支持。 – staticsan
来吧,邮件可以发送任何东西,包括附件等。 还有更多关于发送电子邮件的传输。 如果PHPMailer大多使用SMTP,而邮件功能使用linux sendmail程序。它似乎是为root用户配置的,但不适用于www-data –