2013-04-26 72 views
0

我使用AWS EC2服务器(Ubuntu的实例),我想通过PHP代码发送电子邮件发送电子邮件使用PHP与AWS EC2

我安装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 

我删除地址并重新启动sendmail服务

,但是,我不能发送电子邮件。

我测试上的控制台(sendmail的[email protected] [email protected]

和PHP文件如php sendmailtest.php sendmail的。

他们都工作!

但是,当我用浏览器尝试时,它仍然不起作用。 (如http://test.com/sendmail.php

这里是我的Apache日志

sh: 1: sendmail: not found 
[Thu Apr 25 03:40:53 2013] [error] [client xxx.xxx.xxx.xxx] [email protected] 
[Thu Apr 25 03:40:54 2013] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/favicon.ico 

更新

这里是我的测试代码来发送电子邮件

$mailto="[email protected]"; 
$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的另一个位置不起作用。

+0

发布您的PHP代码发送邮件。 – Jordan 2013-04-26 15:31:59

回答

0

使用发送邮件的绝对路径,当从脚本运行时,通常不会设置PATH。

+0

从命令行键入:“哪个sendmail”使用该命令的完整输出。 – Tony 2013-04-26 18:12:33

+0

但是当我通过sendmail发送邮件时,它在我命令 – Joseph 2013-04-27 04:07:38

+0

处工作正常我还将sendmail pah更改为sendmail_path:/ usr/share/sendmail/sendmail -t -i但仍然无法正常工作 – Joseph 2013-04-28 09:38:43