如何确定电子邮件是否成功立即发送

问题描述:

应用程序旨在安装在用户的计算机上,因此,应用程序的电子邮件功能将取决于用户的ISP服务。端口25可能打开或可能被阻塞。如何确定电子邮件是否成功立即发送

当我使用包括端口25的邮件ua的标准代码时,它似乎发送电子邮件,但是,对于某些ISP阻止端口25电子邮件的用户而言,它并未通过。我想要一个可靠的方法来确定端口25是否无法立即发送电子邮件,然后尝试使用另一个端口发送电子邮件。换句话说,我想利用两个端口,如果端口X失败,然后自动切换到端口Y.可行吗?

顺便说一句,我使用的Web服务器端脚本语言是Adobe ColdFusion的兄弟,Railo,具体标记是CFMAIL。如上所述,围绕CFMAIL包装CFTRY对此目的没有帮助。

谢谢。

确定您的邮件是否交付有多种因素。

1)当您使用CFMAIL发送消息时,可以在cfmail标签中指定邮件服务器,也可以使用服务器默认值。当标签执行时,coldfusion/railo将尝试访问该服务器。如果服务器不可用或被阻止,您的消息将转到coldfusion/railo无法传送的文件夹。检查的唯一方法是编写脚本来监视无法投递的文件夹及其内容。 2)如果coldfusion/railo成功连接到SMTP服务器并试图切断电子邮件,您的通知将来自SMTP服务器而不是coldfusion/railo。如果未指定,邮件将从SMTP服务器发送到failto=""路径或from=""。该电子邮件将被通知“邮箱不存在”,“不允许中继”,“用户超过其邮箱限制”等等。

如果您需要监控这些反弹,您可以创建一个单独的电子邮件考虑failto =“”,并使用CFPOP来监控电子邮件帐户的反弹情况。

此外,如果您使用sendgrid等公司发送SMTP服务器,它们将提供一个API来监控反弹,选择退出,垃圾邮件投诉等...