Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“怎么可能?”;答复「;添加到我们从网站PHP表单收到的电子邮件中?_Php_Html_Forms_Email - Fatal编程技术网

“怎么可能?”;答复「;添加到我们从网站PHP表单收到的电子邮件中?

“怎么可能?”;答复「;添加到我们从网站PHP表单收到的电子邮件中?,php,html,forms,email,Php,Html,Forms,Email,更严格的DMARC政策意味着,如果客户输入雅虎或美国在线的电子邮件地址,我们将不会收到他们的电子邮件 我认为这是因为PHP表单生成的电子邮件是从我们的网站服务器发送的,但客户自己的电子邮件地址是“发件人”。当这封“发件人”电子邮件是雅虎电子邮件时,它会触发我们的接收电子邮件帐户来阻止它。(我们使用gmail阅读和回复电子邮件。) 因此,我正试图解决如何修改PHP表单,在服务器上的PHP表单发送给我们的电子邮件中,将客户电子邮件地址设置为“回复”,将我们自己的服务器电子邮件地址设置为“发件人”。我

更严格的DMARC政策意味着,如果客户输入雅虎或美国在线的电子邮件地址,我们将不会收到他们的电子邮件

我认为这是因为PHP表单生成的电子邮件是从我们的网站服务器发送的,但客户自己的电子邮件地址是“发件人”。当这封“发件人”电子邮件是雅虎电子邮件时,它会触发我们的接收电子邮件帐户来阻止它。(我们使用gmail阅读和回复电子邮件。)

因此,我正试图解决如何修改PHP表单,在服务器上的PHP表单发送给我们的电子邮件中,将客户电子邮件地址设置为“回复”,将我们自己的服务器电子邮件地址设置为“发件人”。我希望能够在gmail中点击“回复”,并能够直接给客户发电子邮件

在主题或gmail from字段中输入客户姓名也很好,这样可以使我们从表单中收到的电子邮件更具可读性,但这远没有那么重要

下面是php文件的内容,与当前一样

<?php
$to         ="info@futonz.co.nz";
$name       = ($_POST['name']);
$email      = ($_POST['email']);
$phone      = ($_POST['phone']);
$enquiry    = ($_POST['enquiry']);
$where      = ($_POST['where']);
$sub        = "Enquiry from the Futonz Website!";
$headers .= "From: $name <$email>\n";  
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$mes       = "".$sub."

Name: ".$name."
Email: ".$email."
Phone: ".$phone." 

Message: ".$enquiry."

I found Futonz by: ".$where."";

if(empty($name) || empty($email)) {
    header("Location:required-fields.html");
} 

elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
    header("Location:invalid-email.html");
}

else {
    mail($to, $sub, $mes, $headers);
    header("Location:contact-thanks.html");
    exit();
}
?>
这不起作用。浏览器只是进入一个空白屏幕

我还尝试在第一行下面添加另一个$headers行,如下所示:

$headers .= "From: $name <info@futonz.co.nz>\n";
$headers .= "Reply-to: $name <$email>\n";  
$headers.=“From:$name\n”;
$headers.=“回复:$name\n”;
这确实在gmail中显示为客户的电子邮件为“回复”。然而,当在Gmail中点击“回复”时,它会显示info@futonz.co.nz作为接受者

要在使用代码时回复绿钥匙的以下评论:

$headers .= "From: $name <info@futonz.co.nz>\n";
$headers .= "Reply-to: $name <$email>\n";  
$headers.=“From:$name\n”;
$headers.=“回复:$name\n”;
然后得出以下结果:

Delivered-To: info@futonz.co.nz
Received: by 10.52.238.130 with SMTP id vk2csp258969vdc;
        Fri, 13 Feb 2015 18:18:11 -0800 (PST)
X-Received: by 10.140.19.14 with SMTP id 14mr30541534qgg.37.1423880290937;
        Fri, 13 Feb 2015 18:18:10 -0800 (PST)
Return-Path: <futonz@futonz.co.nz>
Received: from zeke.hosts.net.nz (zeke.hosts.net.nz. [210.48.108.243])
        by mx.google.com with ESMTPS id q137si1269163qha.85.2015.02.13.18.18.09
        for <info@futonz.co.nz>
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Fri, 13 Feb 2015 18:18:10 -0800 (PST)
Received-SPF: none (google.com: futonz@futonz.co.nz does not designate permitted sender hosts) client-ip=210.48.108.243;
Authentication-Results: mx.google.com;
       spf=none (google.com: futonz@futonz.co.nz does not designate permitted sender hosts) smtp.mail=futonz@futonz.co.nz
Received: from futonz.co.nz (localhost.localdomain [127.0.0.1])
    by zeke.hosts.net.nz (8.13.8/8.13.8) with ESMTP id t1E2Hxjm006900
    for <info@futonz.co.nz>; Sat, 14 Feb 2015 15:17:59 +1300
Received: (from futonz@localhost)
    by futonz.co.nz (8.13.8/8.13.8/Submit) id t1E2Hwf6006899;
    Sat, 14 Feb 2015 15:17:58 +1300
Date: Sat, 14 Feb 2015 15:17:58 +1300
Message-Id: <201502140217.t1E2Hwf6006899@futonz.co.nz>
To: info@futonz.co.nz
Subject: Enquiry from the Futonz Website!
From: Robin test <info@futonz.co.nz>
Reply-to: Robin test <teahigh@gmail.com>
Content-Type: text/plain; charset=iso-8859-1


Enquiry from the Futonz Website!

Name: Robin test
Email: teahigh@gmail.com
Phone: 09 

Message: 

I found Futonz by: 
交付给:info@futonz.co.nz
收到日期:10.52.238.130,SMTP id为vk2csp258969vdc;
2015年2月13日星期五18:18:11-0800(太平洋标准时间)
X-Received:2014年10月140日之前,SMTP id为14mr30541534qgg.37.1423880290937;
2015年2月13日星期五18:18:10-0800(太平洋标准时间)
返回路径:
收到:来自zeke.hosts.net.nz(zeke.hosts.net.nz.[210.48.108.243])
由mx.google.com提供,ESMTPS id为q137si1269163qha.85.2015.02.13.18.09
对于
(版本=TLSv1密码=RC4-SHA位=128/128);
2015年2月13日星期五18:18:10-0800(太平洋标准时间)
收到SPF:none(google.com:futonz@futonz.co.nz未指定允许的发送方主机)客户端ip=210.48.108.243;
认证结果:mx.google.com;
spf=无(google.com:futonz@futonz.co.nz未指定允许的发件人主机)smtp.mail=futonz@futonz.co.nz
收到:来自futonz.co.nz(localhost.localdomain[127.0.0.1])
由zeke.hosts.net.nz(8.13.8/8.13.8)编写,ESMTP id为t1E2Hxjm006900
对于2015年2月14日星期六15:17:59+1300
收到:(来自futonz@localhost)
由futonz.co.nz(8.13.8/8.13.8/提交)id为t1E2Hwf6006899;
2015年2月14日星期六15:17:58+1300
日期:2015年2月14日星期六15:17:58+1300
消息Id:
致:info@futonz.co.nz
主题:来自Futonz网站的查询!
来源:罗宾测验
答复:罗宾试验
内容类型:文本/纯文本;字符集=iso-8859-1
来自Futonz网站的查询!
名称:罗宾试验
电邮:teahigh@gmail.com
电话:09
信息:
我是通过以下方式找到Futonz的:

请告诉我如何修改php表单,以便在gmail中单击“回复”时显示客户的电子邮件地址。

以下是我用来修复DMARC身份验证问题和gmail中出现的正确“回复”电子邮件地址的代码

$headers = "From: " . strip_tags($_POST['email']) . "\r\n";
$headers .= "Reply-To: info@youradmin.com\r\n";
$headers .= "CC: info@youradmin.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
<?php
$to       = "info@futonz.co.nz";
$name     = ($_POST['name']);
$email    = ($_POST['email']);
$phone    = ($_POST['phone']);
$enquiry  = ($_POST['enquiry']);
$where    = ($_POST['where']);
$sub      = "".$name."'s enquiry from the Futonz Website!";

$headers .= "MIME-Version:1.0\n";
$headers .= "Content-type: text/plain; charset=utf-8\n";
$headers .= "X-Mailer: $DOMAIN\n";
$headers .= "X-MSMail-Priority: normal\n";
$headers .= "Return-Path: ".$email."\r\n";
$headers .= "From: ".$from."\r\n";
$headers .= "Reply-To: ".$email."\r\n";

$mes      = "".$sub."\r\n\n";
$mes     .= "Name: ".$name."\r\n";
$mes     .= "Email: ".$email."\r\n";
$mes     .= "Phone: ".$phone."\r\n\n";
$mes     .= "Message: ".$enquiry."\r\n\n";
$mes     .= "I found Futonz by: ".$where."";

if(empty($name) || empty($email)) {
    header("Location:required-fields.html");
} 

elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
    header("Location:invalid-email.html");
}

else {
    mail($to, $sub, $mes, $headers);
    header("Location:contact-thanks.html");
    exit();
}
?>

你能给我们看一下gmail的原始信息吗?基于您的建议,我尝试了以下方法:$headers=“From:”。去除标签($\u POST['email'])。“\r\n”$标题。=“回复:$name\r\n”$标题=“抄送:info@futonz.co.nz\r\n“$标题。=“MIME版本:1.0\r\n”$标题。=“内容类型:文本/普通;字符集=iso-8859-1\r\n”;这导致谷歌警告“此消息可能不是由以下人员发送的:teahigh@gmail.com了解更多“报告钓鱼”并且当单击“回复”时,收件人字段中只显示客户的姓名。您需要将Gmail的SPF记录添加到您的域中。这本身可能还不够,但这只是一个开始。@ChrisHerbert我现在已将以下谷歌SPF记录添加到我们域主机的DNS记录中:host:futonz.co.nz Data:v=spf1 include:_SPF.google.com~这里所有以下谷歌支持:我将等待,直到它传播。这应该直接解决雅虎和AOL的DMARC问题(并且对php文件进行不必要的更改),还是解决谷歌错误地选择“发件人”电子邮件而不是“回复”电子邮件的方式?添加SPF记录似乎没有帮助。谢谢你,谢谢你。你有没有想过一种方法,让它看起来也来自用户,而不是用户info@futonz.co.nz?
<?php
$to       = "info@futonz.co.nz";
$name     = ($_POST['name']);
$email    = ($_POST['email']);
$phone    = ($_POST['phone']);
$enquiry  = ($_POST['enquiry']);
$where    = ($_POST['where']);
$sub      = "".$name."'s enquiry from the Futonz Website!";

$headers .= "MIME-Version:1.0\n";
$headers .= "Content-type: text/plain; charset=utf-8\n";
$headers .= "X-Mailer: $DOMAIN\n";
$headers .= "X-MSMail-Priority: normal\n";
$headers .= "Return-Path: ".$email."\r\n";
$headers .= "From: ".$from."\r\n";
$headers .= "Reply-To: ".$email."\r\n";

$mes      = "".$sub."\r\n\n";
$mes     .= "Name: ".$name."\r\n";
$mes     .= "Email: ".$email."\r\n";
$mes     .= "Phone: ".$phone."\r\n\n";
$mes     .= "Message: ".$enquiry."\r\n\n";
$mes     .= "I found Futonz by: ".$where."";

if(empty($name) || empty($email)) {
    header("Location:required-fields.html");
} 

elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
    header("Location:invalid-email.html");
}

else {
    mail($to, $sub, $mes, $headers);
    header("Location:contact-thanks.html");
    exit();
}
?>