使用PHP发送邮件不起作用

时间:2011-10-19 19:15:27

标签: php

我通过PHP发送电子邮件的脚本无效,我不知道为什么没有特定错误。请指教:

test@test.com将替换为我的真实电子邮件地址。

udrew_email("test@test.com", $_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>");
}
}
?>

我收到“邮件传递失败”。

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

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

2 个答案:

答案 0 :(得分:1)

如果无法将电子邮件处理到smtp服务器,

mail()将返回false。在unix上,那就是本地sendmail / postfix / exim。在Windows上,它是在php.ini SMTPsmtp_port选项中配置的smtp服务器。

这可能是因为smtp服务器没有运行或配置错误。这也可能是因为电子邮件形成得非常糟糕,服务器完全拒绝它,甚至没有尝试将其提供给它。

答案 1 :(得分:0)

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