回复发送表格的人

时间:2016-03-07 17:53:39

标签: php forms contact contact-form

我在过去一小时内在Stackoverflow中读过很多这样的问题,但是我一直在尝试,我的脚本一直在崩溃,我无法解决我的问题。我的联系表格有这个PHP脚本。它工作得很好但唯一的问题是,当我收到电子邮件时,它来自CGI-Mailer cgi-mailer@kundenserver.de

我希望它来自发送表单的人,以便您可以直接通过电子邮件回复。我会很感激一些帮助,我的PHP知识非常低,这可能就是为什么我实现你的每一个提示都错了。我只是想知道我的脚本应该改变哪些部分以及什么。谢谢!

<?php
// check if fields passed are empty
if(empty($_POST['name'])        ||
   empty($_POST['email'])       ||
   empty($_POST['message']) ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
    echo "Arguments missing!";
    return false;
   }

$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];

// create email body and send it    
$to = 'myemail@gmail.com'; // put your email
$email_subject = "Web Form";
$email_body =  "New message. \n\n".
               "Details:\n\n".
               "Name: $name \n\n".
               "Email: $email_address\n\n".
               "Messaje: $message";    
$headers = 'From: Web-Form@mydomain.com' . "\r\n" .
    'Reply-To: ' . $email_address . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
mail($to,$email_subject,$email_body,$headers);
return true;            
?>

使用此代码我在stackoverflow中的另一篇文章中找到了我解决了问题的一部分。现在,该消息显示Web-Form@mydomain.com作为发送者的名称,这是正常的。至少是我放的东西。问题是,当我点击gmail中的回复时,它会回复我自己的电子邮件,回复给收到表单而不是发送表单的人。

2 个答案:

答案 0 :(得分:0)

我将标题更改为:

   $headers = 'From: '.$email_from."\r\n".
    'X-Mailer: PHP/' . phpversion(); 

现在整个脚本都是这样的:

        <?php
    // check if fields passed are empty
    if(empty($_POST['name'])        ||
       empty($_POST['email'])       ||
       empty($_POST['message']) ||
       !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
       {
        echo "Arguments missing!";
        return false;
       }

    $name = $_POST['name'];
    $email_from = $_POST['email'];
    $message = $_POST['message'];

    // create email body and send it    
    $to = 'myemail@gmail.com'; // put your email
    $email_subject = "Web Form";
    $email_body =  "New message. \n\n".
                   "Details:\n\n".
                   "Name: $name \n\n".
                   "Email: $email_from\n\n".
                   "Messaje: $message";    
   $headers = 'From: '.$email_from."\r\n".
        'X-Mailer: PHP/' . phpversion(); 
    mail($to,$email_subject,$email_body,$headers);
    return true;            
    ?>

答案 1 :(得分:-1)

将$ email-address更改为$ email 添加

$headers = 'From: '.$email."\r\n" .
    'Reply-To: '.$email."\r\n"