我使用 AWS EC2 服务器(ubuntu 实例),我想通过 php 代码发送电子邮件
我安装了 sendmail 并修改了 .mc 文件作为打击
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
我删除了 Addr 并重新启动 sendmail 服务
但是,我无法发送电子邮件。
我在控制台上测试了 sendmail(sendmail to@mail.com from@mail.com)
和 php 文件,如 php sendmailtest.php。
他们都工作!
但是,当我尝试使用浏览器时,它仍然无法正常工作。(如http://test.com/sendmail.php)
这是我的 apache 日志
sh: 1: sendmail: not found
[Thu Apr 25 03:40:53 2013] [error] [client xxx.xxx.xxx.xxx] xxx@gmail.com
[Thu Apr 25 03:40:54 2013] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/favicon.ico
更新
这是我发送电子邮件的测试代码
$mailto="xxxxxxxx@gmail.com";
$subject="mail test";
$content="test";
$result=mail($mailto, $subject, $content);
if($result){
echo "mail success";
}else {
error_log($mailto, 0);
echo "mail fail";
}
提前致谢,
解决了这个问题。
我应该输入 /usr/sbin/sendmail
我不知道为什么即使存在 sendmail 另一个位置也不起作用。