表单提交-来自现场的访问者电子邮件

时间:2018-10-16 06:11:11

标签: php email phpmailer form-submit

我创建了一个有效的表单提交。当有人填写表格并将其提交给我时,我会收到ipg.blahblah@blahblah.com的电子邮件。有没有办法将电子邮件中的“发件人”字段更改为访客的电子邮件?

例如,亨利填写我的表格,并将其电子邮件写为henry@gmail.com并将其提交给我。我将从ipg.blahblah@blahblah.com收到电子邮件,是否可以将ipg.blahblah@blahblah.com更改为henry@gmail.com?

我想让我更轻松地只回复电子邮件,而不是创建新电子邮件并回复亨利。我不确定是否可以在邮件处理程序中进行更改。有指针吗?我将在下面附加我的邮件处理程序代码。

<?php
if(isset($_POST['submit'])){

    $url = 'Hidden';
    $privatekey = "Hidden";

    $response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);

    $data = json_decode($response);

    if(isset($data->success) AND $data->success==true){

        //mail handler code 
                if(isset($_POST['submit'])){
                $name=$_POST['name'];
                $email=$_POST['email'];
                $phone=$_POST['phone'];
                $msg=$_POST['msg'];
                $port = '25';

                $to='Hidden';
                $message="Form Submission: ".$name;
                $headers="Name: ".$name."\n"."From: ".$email. "\n". "Phone:".$phone."\n". "Wrote the following: "."\n\n".$msg;


                if(mail($to, $message, $headers)){

                    header('Hidden');
                }
            }


    }else{


        header('Hidden');


    }


}



?>

1 个答案:

答案 0 :(得分:0)

马格努斯说了什么。查看the contact form example provided with PHPMailer,以了解正确的方法。许多电子邮件提供商(例如gmail)根本不允许您设置发件人地址,这样做会导致SPF伪造而失败。使用您自己的地址作为发件人地址,然后将提交者的地址放入回复邮件中。