2011-10-19 42 views
0

我的脚本通过PHP发送电子邮件不起作用,我不知道为什么,因为没有具体的错误。请告知:发送邮件与PHP不工作

[email protected]被替换为我的真实电子邮件地址。

udrew_email("[email protected]", $_REQUEST["txtEmail"], "Gears Message", $_REQUEST["txtName"], $_REQUEST["txtMessage"]); 

<?php 
function udrew_email($strTo, $strFromEmail, $strSubject, $strFromName, $strBody) 
{ 
$strHeaders = "From: " . $strFromName . "<" . $strFromEmail . ">" . "\r\n"; 
if (mail($strTo, $strSubject, $strBody, $strHeaders)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed.</p>"); 
} 
} 
?> 

我得到“消息传递失败”。

我也尝试将常量放在所有变量中,而不是从表单请求。

任何帮助,将不胜感激。谢谢。

+0

你配置了服务器发送邮件吗? – JJJ

回答

1

如果无法将电子邮件处理到smtp服务器,则mail()将返回false。在unix上,这将是本地的sendmail/postfix/exim。在Windows上,无论在php.ini SMTPsmtp_port选项中配置了什么smtp服务器。

这可能是因为smtp服务器未运行或错误配置。这也可能是因为电子邮件形式太糟糕了,服务器甚至在没有尝试向前发送的情况下拒绝它。

+0

这绝对是一个问题。我已经配置它,但仍然得到相同的错误。排除故障的下一步是什么? – O1DMBFan

+1

检查邮件服务器日志以了解邮件被拒绝/退回的原因? –

0

检查并确保您的邮件服务器正在运行,并且您已安装并设置了一个邮件服务器。如果是,则检查邮件服务器的日志文件。