我创建了一个有效的表单提交。当有人填写表格并将其提交给我时,我会收到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');
}
}
?>
答案 0 :(得分:0)
马格努斯说了什么。查看the contact form example provided with PHPMailer,以了解正确的方法。许多电子邮件提供商(例如gmail)根本不允许您设置发件人地址,这样做会导致SPF伪造而失败。使用您自己的地址作为发件人地址,然后将提交者的地址放入回复邮件中。