我有一个PHP网站,在创建新帐户时发送验证码。如何在不进入垃圾邮件文件夹的情况下发送验证邮件?
我的问题是因为几个月,很多这些电子邮件进入垃圾邮件文件夹。
我想到了一个解决方案,即使用“外部服务”发送我的电子邮件,而不是通过PHP中的邮件功能发送邮件。
问题:1)我应该使用什么外部服务(我想它需要一个API)?
我有一个PHP网站,在创建新帐户时发送验证码。如何在不进入垃圾邮件文件夹的情况下发送验证邮件?
我的问题是因为几个月,很多这些电子邮件进入垃圾邮件文件夹。
我想到了一个解决方案,即使用“外部服务”发送我的电子邮件,而不是通过PHP中的邮件功能发送邮件。
问题:1)我应该使用什么外部服务(我想它需要一个API)?
尝试使用您的ISP或公司的服务器作为中继。使用存在的发送地址,以便可以对其进行验证,并将反弹发回给它。您可能需要设置一个单独的域进行验证,例如verification.example.com
。然后您可以从[email protected]
发送验证消息。根据需要替换应用程序和示例。
你可能也想看看https://serverfault.com/questions/241189/email-delivery-management-grievances#241260。
查看Google的this文档。它涉及您的网络支持,包括反向查找和域密钥存在。我认为大部分电子邮件服务器都有类似的要求。
很多时候,在使用内置函数mail
函数时,没有设置配置来防止发生这种情况。原因是收到标头被设置为一个内部IP地址,如192.168.x.x,它被用作大多数垃圾邮件过滤器的指示器。您可能想尝试查找远程连接的简单SMTP类,以便正确设置标题。
我已检查并且接收标头不包含内部IP,但包含VPS的IP。感谢您的小费。 – 2011-03-04 20:46:41
很高兴为您提供帮助。祝你好运找到适合你的解决方案。 – steveo225 2011-03-04 23:47:50
如果标题设置不正确或一次发送大量邮件可能会导致邮件被垃圾邮件阻挡 – 2011-03-02 15:06:19
您是否尝试过phpmailer? – 2011-03-02 15:07:07
并非来自该列表的所有内容都适用,但请检查:http://stackoverflow.com/questions/3905734/how-to-send-100-000-emails-weekly/3905805#3905805。 TL; DR:您无法确保您的电子邮件不会被标记为垃圾邮件,有一些技巧可以提高您的机会。 – Piskvor 2011-03-02 15:10:02