使用解决方案

时间:2016-05-10 05:32:55

标签: php html

编辑:

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

$headers = "From: $email\n";

因此,联系表单生成的from字段包含电子邮件ID,在上面的情况下它是yahoo.com,我发现由于Yahoo的DMARC规则,gmail拒绝该消息。相反,我更换了标题:

$headers = "From: $name\n";

所以我们在场上'命名'。现在它适用于以前无法正常工作的电子邮件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>"; 

} 

但是,当使用hotmail.com或yahoo.com或yahoo.co.uk测试emailid时显示为无效ID。所以我尝试使用filter_var函数。在这种情况下,id被接受并且表单已经提交但是我在提交后没有在我的邮箱中收到联系表单详细信息。

所以我再次更改了我的代码,如下所示:

if (preg_match("/^[^@]*@[^@]*\.[^@]*$/", $email)){}

在上面,我可以收到带有ids的邮件:hotmail.com但yahoo.com,yahoo.co.uk的问题仍然存在。

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

我已阅读了许多在线类似的查询和解决方案,我尽力按上述方式实施。任何额外的帮助将不胜感激。

0 个答案:

没有答案