更严格的DMARC政策意味着,如果客户输入雅虎或美国在线的电子邮件地址,我们就不会收到使用我们在线表格的客户的电子邮件。
我认为这是因为PHP表单生成的电子邮件是从我们的网站服务器发送的,但客户自己的电子邮件地址是“发件人”。当这封“发件人”电子邮件是雅虎电子邮件时,它会触发我们的接收电子邮件帐户来阻止它。(我们使用gmail阅读和回复电子邮件。)
因此,我试图找出如何修改PHP表单,把客户的电子邮件地址作为'回复'和我们自己的服务器电子邮件地址作为'从'在我们的服务器上的PHP表单发送给我们的电子邮件。我希望能够在gmail中点击“回复”,并能够直接给客户发邮件。
在主题或字段中添加客户姓名也很好,这样我们从表单中收到的电子邮件更容易阅读,但这远没有那么重要。
下面是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();
}
?>
阅读其他人的建议,我尝试用以下内容替换前$header:
$headers = 'From: '.futonz@futonz.co.nz."\r\n" .
'Reply-To: '.$email."\r\n";
这没有工作。浏览器只是进入一个空白屏幕。
我还尝试在第一行下面添加另一个$headers行,如下所示:
$headers .= "From: $name <info@futonz.co.nz>\n";
$headers .= "Reply-to: $name <$email>\n";
这在gmail中确实显示为将客户的电子邮件作为“回复”。然而,当在Gmail中点击“回复”时,它会把info@futonz.co.nz作为收件人!
要在下面回复TheGreenKey的评论,使用代码时:
$headers .= "From: $name <info@futonz.co.nz>\n";
$headers .= "Reply-to: $name <$email>\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:
请告诉我如何修改php表单,以便在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";
下面是我用来修复DMARC身份验证问题和gmail中出现的正确“回复”电子邮件地址的代码。
<?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();
}
?>
感谢那些在这里帮助过我的人:)
试图解决yahoo DMARC问题的人可能会对此链接感兴趣:https://help.yahoo.com/kb/mail/SLN24016.html
我在一个简单的网站上工作,但在联系方式上遇到了一些问题,我尝试了所有类型的设置,但都不起作用。 问题是,当我填写表格并按下提交按钮时,它将显示“Message sent successfully”,但我无法接收任何邮件到我的邮件ID。 那我能做什么。。。??? 我的:文件名是 我的 请帮助我...!!
问题内容: 有没有办法将图像附加到用PHP创建的html格式的电子邮件中? 我们需要确保在发送给可能在阅读电子邮件时无法访问Internet的客户的电子邮件上带有公司徽标(显然,他们可以下载文件)。 问题答案: 尝试使用PEARMail_Mime软件包,该软件包可以为您嵌入图像。 您需要使用addHTMLImage()方法并传递内容ID(cid),这是一个唯一的文本字符串,您还将在img的src属
我正在尝试发送一封带有附件的确认电子邮件,电子邮件地址为strapi provider email NodeEmailer。该插件显然支持附件,但我不知道我应该在strapi后端的何处添加这些附件。有人知道如何将附件添加到通过strapi NodeEmailer发送的电子邮件中吗?
问题内容: 我正在使用Gomail 我正在尝试向自己发送电子邮件。我已经找到了解决方法,但是现在我想在html正文中或作为附件添加图像(没什么关系)。我只需要能够在电子邮件中看到图像即可。 首先,我 通过请求发送,然后将其保存到以下请求中… 然后,我尝试像这样将其附加到电子邮件正文中… 这不起作用,所以我尝试使用Embed方法 … 这给了我空白图像,并出现错误的文件名或扩展名。不知道这是否重要,但
问题内容: 最近,我将我的django网站之一从http升级到https。但是,此后,我不断收到错误的电子邮件,而从未收到此类电子邮件。 以下是一些日志消息: [Django]错误(外部IP):无效的HTTP_HOST标头:“ 123.56.221.107”。您可能需要将‘123.56.221.107’添加到ALLOWED_HOSTS。 [Django]错误(外部IP):无效的HTTP_HOST标
在使用IMAP和PHP之前,我从未尝试过获取和移动电子邮件,因此将发送到垃圾箱的电子邮件移回收件箱。 好的,所以我可以正确地从Gmail中提取电子邮件,我可以删除它们,或者将它们移到垃圾箱。 当我尝试将它们移回收件箱时,我收到以下错误: 注意:未知:[TRYCREATE]第0行未知中没有文件夹[Gmail]/收件箱(失败)(errflg=2) 所以很明显,有些事情我不太明白,在过去的几个小时里,我