PHP 表单大约 30% 的时间不通过电子邮件发送信息


php form not sending info via email about 30% of time

我收到"此消息没有内容"错误,大约 30% 的时间访问者填写表单并且无法隔离问题。用于发送电子邮件的 php 如下,地址是匿名的。有什么想法吗?

到目前为止,我试图在论坛中找到答案,但无济于事。感谢您的帮助!

<?php
    $fromAddress = 'x@www.com';
    $subject = 'Resources - White Paper Download - '.$_POST['WhitePaper'];
    $message .= "'r'n";
    foreach($_POST as $name => $value) {
    $message .= $name . ': ' . $value . "'r'n";
    }
    $to       = 'y@www.com';
    $headers  = 'MIME-Version: 1.0' . "'r'n";
    $headers .= 'Content-type: text/plain; charset=UTF-8' . "'r'n";
    $headers .= 'From: ' . $fromAddress . "'r'n" .
        'Reply-To: ' . $fromAddress . "'r'n" .
        'X-Mailer: PHP/' . phpversion(). "'r'n";
    $headers .= 'Cc: z@www.com, <t@www.com>' . "'r'n";
    mail($to, $subject, $message, $headers);
    echo "mail sent";
?>

如果没有什么一致性可以发现(即某些链接总是失败,还是它们在某些时候工作?),那么我所能建议的就是你在代码中添加尽可能多的日志记录,看看是否有模式。

创建一个日志文件,每次调用您的邮件代码时,将电子邮件的详细信息以及来自服务器的响应写入该文件;然后检查,看看当您看到错误出现时是否可以复制问题。

我唯一能看到可能导致它的是 $_POST 是否为空 - 我假设您始终以相同的方式调用脚本,并且您永远不会使用设置_GET参数链接到它?