我通过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>");
}
}
?>
我收到“邮件传递失败”。
我也尝试在所有变量中放置常量,而不是从我的表单中请求。
任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
mail()将返回false。在unix上,那就是本地sendmail / postfix / exim。在Windows上,它是在php.ini SMTP
和smtp_port
选项中配置的smtp服务器。
这可能是因为smtp服务器没有运行或配置错误。这也可能是因为电子邮件形成得非常糟糕,服务器完全拒绝它,甚至没有尝试将其提供给它。
答案 1 :(得分:0)
检查并确保您的邮件服务器正在运行,并且您已安装并设置了一个邮件服务器。如果是,则检查邮件服务器的日志文件。