Php 使用解决方案编辑的联系人表单中存在特定电子邮件ID问题

Php 使用解决方案编辑的联系人表单中存在特定电子邮件ID问题,php,html,Php,Html,编辑: 因此,问题不是因为邮件验证,某些电子邮件ID(如yahoo.com)被gmail主机拒绝,因为: $headers = "From: $email\n"; 因此,由联系人表单生成的from字段包含电子邮件id(在上面的例子中是yahoo.com),我发现由于yahoo的DMARC规则,gmail拒绝该消息。相反,我替换了标题: $headers = "From: $name\n"; 所以我们在from字段中使用了“name”。现在它适用于以前不工作的电子邮件ID 现在的联系方式是工作

编辑:

因此,问题不是因为邮件验证,某些电子邮件ID(如yahoo.com)被gmail主机拒绝,因为:

$headers = "From: $email\n";
因此,由联系人表单生成的from字段包含电子邮件id(在上面的例子中是yahoo.com),我发现由于yahoo的DMARC规则,gmail拒绝该消息。相反,我替换了标题:

$headers = "From: $name\n";
所以我们在from字段中使用了“name”。现在它适用于以前不工作的电子邮件ID

现在的联系方式是工作良好后,我纳入上述变化


最初,我使用以下代码验证电子邮件ID:

if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $email)) 
{ 
echo "<p>It appears you entered an invalid email address</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 

} 
在上面,我可以接收ID为:hotmail.com的邮件,但雅虎网站yahoo.co.uk的问题依然存在

联系人表单提交时没有任何问题,但当联系人表单中的客户使用yahoo.com或yahoo.co.uk的电子邮件ID时,我无法在收件箱中接收邮件


我已经在网上阅读了许多类似的查询和解决方案,我尽了最大的努力来实现它。任何额外的帮助都将不胜感激。

电子邮件地址的表单电子邮件验证与您收到电子邮件问题无关Hello,当我将代码更改为preg_match时,我开始接收带有id hotmail的邮件,否则最初它会给我带有ereg功能的无效id邮件,在filter_var中,表单已提交,但邮箱中未收到任何邮件。但是,当我使用preg_match联系人表单作为hotmail的id时,它起作用了。就像我收到的邮件一样。因此,如果它与邮件验证无关,那么请指导我检查什么?电子邮件地址的表单电子邮件验证与您收到的电子邮件问题无关Hello,当我将代码更改为preg_match时,我开始接收带有ids hotmail的邮件,否则最初它会使用ereg函数向我发送无效的id消息,并且在filter_var中表单正在提交,但邮箱中没有收到任何邮件。但是,当我使用preg_match联系人表单作为hotmail的id时,它起了作用。就像我收到的邮件一样。因此,如果它与邮件验证无关,那么请指导我检查什么?
if (preg_match("/^[^@]*@[^@]*\.[^@]*$/", $email)){}