PHP邮件突然停止工作

时间:2012-07-05 15:21:23

标签: php email

有一段时间我用我网站的联系表格中的php邮件功能发送电子邮件。最近,我发现它只是停止工作。当我用我的联系表格发送查询时,它表示已成功发送,但我没有进行任何测试进入我的收件箱..

有人在这里遇到同样的问题吗?我怎么能解决这个问题?

我检查了cpanel中的MX条目,数据是正确的。我想尝试SMTP,但我没有访问信息。

对此事有任何帮助吗?

我发现的其他信息: Web Server托管在托管公司之一。 邮件服务器托管在谷歌。

问题可能在哪里?

5 个答案:

答案 0 :(得分:2)

问题可能出在你的托管服务提供商身上,该网站提供商“弄明白”你的表单产生了大量流量而且被阻止了。

答案 1 :(得分:1)

或者出了什么问题。请查看/var/log/mail.*的问题。

答案 2 :(得分:1)

您是否正确验证mail()函数返回的内容?

检查你的error_log可能是一个好主意,只是为了确保它在PHP中没有任何意义。如果您可以查看邮件是否发送(使用mail函数创建一个小程序),请尝试将代码放在另一台服务器上。如果确实如此,则最有可能是您的ISP。

答案 3 :(得分:1)

以下是如何直接连接到SMTP:

$smtp = fsockopen("localhost", 25, $errno, $errstr, 15);
if(!$smtp) { 
    echo "failed";
}
else {
    stream_set_timeout($smtp, 0, 80000);
    fwrite($smtp, "HELO domainname.com\r\n");
    stream_set_blocking($smtp, 0);
    fwrite($smtp, "MAIL FROM:<".$from.">\r\n");
    fwrite($smtp, "RCPT TO:<$to>\r\n");
    fwrite($smtp, "DATA\r\n");
    fwrite($smtp, "Date: ".date("r")."\r\n");
    fwrite($smtp, "From: <".$from_address.">\r\n");
    fwrite($smtp, "Reply-to: $replyto\r\n");
    fwrite($smtp, "Subject: Test\r\n");
    fwrite($smtp, "To: $to\r\n");
    $outMsg .= "Whatever your email body is, then end it with a period on a new line\r\n.\r\n";
    $bitesWritten = fwrite($smtp, $outMsg);
    echo "Wrote $bitesWritten of " strlen($outMsg);
}

答案 4 :(得分:0)

好吧,这里的问题是托管服务器的邮件exim被破坏了。因此,托管支持必须更新它并解决问题。