0

我在http://swedsb.com的 Greet Us 页面中设置了一个联系表格

当我提交表单时,它说邮件发送成功。但是我没有收到邮件,检查了垃圾邮件文件夹。

我在http://ibsolutions.in设置了一个类似的表格。它运行良好。

在过去的 4 个小时里一直在打破我的头。这是我的contact.php

<?php 

    if(isset($_POST['submit'])) {
    $to = "ekalaivan@gmail.com";
    $subject = $_POST['posRegard'];
    $name = $_POST['posName'];
    $email = $_POST['posEmail'];

    if ( preg_match( "/[\r\n]/", $posName ) || preg_match( "/[\r\n]/", $posEmail ) ) {
    header( 'Location: http://swedsb.com/' );
    }

    $message = $_POST['posText'];
    $body = "$name has sent you a greeting. \n E-Mail: $email\nMessage:\n $message";

    mail($to, $subject, $body);
    header( 'Location: http://swedsb.com/' );
 } 
 else {echo "blarg!";}?>
4

3 回答 3

2

PHP 总是会说邮件已发送...检查您的 php.ini 文件中 sendmail 的路径...

于 2010-05-03T15:24:08.753 回答
0

中间没有空格

<?phpif

脚本看起来不错,您可以检查 ini 文件,或者如果邮件设置已打开,请联系您的服务器管理员。

于 2010-05-03T15:27:32.803 回答
0

我建议检查邮件服务器日志。一般来说,您会在以下位置找到它们:/var/log/mail.log。

找到日志文件后,运行脚本,然后立即查看日志文件,看看会发生什么。搜索收件人(地址)电子邮件以在日志中查找条目。

祝你好运!

ps 这个脚本有一些严重的安全问题。预计垃圾邮件发送者会尝试欺骗您的代码代表他们发送电子邮件。检查将用作电子邮件标题或内容的一部分的任何变量尤其重要。应该对这些值进行清理。寻找换行符、多部分/混合 MIME 内容边界标记、密件抄送或其他标题,以及其他任何看起来很有趣的东西。始终从您提供的明确电子邮件地址发送,不要使用用户在网络表单中输入的发件人地址。

于 2010-05-03T15:59:53.053 回答