我有一个网站(目前正在为第三方开发,很抱歉,我无法展示)要求用户通过点击发送到他们的电子邮件地址的链接确认他们的联系信息对于网站。
这是一个非常标准的做法,不是非常技术性或独特性,这就是为什么我惊讶地发现Hotmail和Yahoo(以及其他人,我不确定)阻止通过PHP动态生成的任何电子邮件消息运行网站的代码。
我正在使用PHP框架CodeIgniter,并使用他们的电子邮件库。我已经检查了我的代码,一切看起来都很棒,而且我也查看了电子邮件类,它看起来也很尖端。
更不用说,发送的邮件会传递给我尝试过的所有其他邮件服务,包括gmail和几个POP帐户。这让我相信问题出在Hotmail / Yahoo端。
我怀疑由于格式,主题内容或其他任意问题,他们故意拒绝/反弹邮件。
HTML电子邮件设计很少,只是真正利用HTML标题标记链接。消息的主题只是简单地说“欢迎来到____”,并通过“支持@______。com”来解决。
我的问题是,是否有任何与我可以阅读的内容相关的文章可以更好地理解为什么邮件被拒绝,所以我可以解决这个问题?
优选地,文章或文档来自Hotmail和Yahoo(具有内部信息),或者来自经历过相同问题的人,并且已经找到了解决方案。
此外,是否有任何可用的实用程序来测试邮件一旦到达其服务器时实际发生了什么(即它是否被退回,或其他什么?)
非常感谢! :)
答案 0 :(得分:3)
确保您的域名SPF records已正确设置。这将有很长的路要走。
电子邮件可传递性是一个复杂的主题。在之前的演出中,我是ESPC的成员。这PDF link可能会有所帮助,也可能过时。另请参阅此其他similar SO question。
答案 1 :(得分:0)
我的朋友有一个通知系统,他有他的PHP代码使用SMTP发送通知。所以他的通知真的来自他的Gmail帐户。他这样做是为了防止hotmail / etc自动阻止电子邮件。
我不知道这是否有帮助
答案 2 :(得分:0)
你的电子邮件是什么标题? 它是否在电子邮件中包含足够的“有价值的文本”,或者它主要是链接(到您的网站,确认链接,“联系我们” - 链接,......)。这可以在垃圾邮件过滤器中扮演重要角色,以确定电子邮件是否包含原创和有价值的内容。
答案 3 :(得分:0)
我遇到类似的问题 - 只有hotmail.com。 Gmail和本地国家提供商的工作正常。 我的邮件合并如下:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: Company name\r\n";
$headers .= "From: \"Company name\" <info@company.ee>";
mail($email, "title", $message, $headers,"-finfo@company.ee");
欢迎所有建议