从联系表单发送邮件。简单但有挑战性!

时间:2010-05-03 15:22:11

标签: php contact-form

我已在http://swedsb.com

的“问候我们”页面中设置了联系表单

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

我在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!";}?>

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

之间没有空格

<?phpif

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

答案 2 :(得分:0)

我建议检查邮件服务器日志。一般来说,你会发现它们像: /var/log/mail.log。

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

祝你好运!

P.S。这个脚本有一些严重的安全问题。预计垃圾邮件发送者会试图欺骗您的代码代表他们发送电子邮件。特别重要的是检查将用作电子邮件标题或内容的一部分的任何变量。应对这些值进行消毒。查找换行符,多部分/混合MIME内容边界标记,BCC或其他标题以及其他任何看起来很有趣的内容。始终从您提供的明确电子邮件地址发送,请勿使用用户在网络表单中输入的发件人地址。