【问题标题】:Sending mail with PHP not working使用 PHP 发送邮件不起作用
【发布时间】:2011-10-19 19:15:26
【问题描述】:

我通过 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>");
}
}
?>

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

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

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

【问题讨论】:

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

标签: php


【解决方案1】:
如果

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

这可能是因为 smtp 服务器没有运行或配置错误。也可能是因为电子邮件的格式非常糟糕,服务器甚至没有尝试发送它就直接拒绝了它。

【讨论】:

  • 这绝对是个问题。我已经配置了它,但仍然得到同样的错误。故障排除的下一步是什么?
  • 检查邮件服务器日志,了解邮件被拒绝/退回的原因?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-08-25
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多