我在过去一小时内在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中的回复时,它会回复我自己的电子邮件,回复给收到表单而不是发送表单的人。
答案 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"