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

时间:2013-10-27 12:23:40

标签: coldfusion railo cfmail

应用程序旨在安装在用户的计算机上,因此,应用程序中的电子邮件功能在很大程度上取决于用户的ISP服务。端口25可能已打开或可能被阻塞。

当我使用包括端口25的邮件ua的标准代码时,它似乎传递了电子邮件,但是,对于某些用户的ISP阻止端口25电子邮件不能通过。我想有一个可靠的方法来确定端口25是否无法立即发送电子邮件,然后尝试使用其他端口发送电子邮件。换句话说,我想利用两个端口,如果端口X出现故障,那么会自动切换到端口Y.可行吗?

顺便说一下,我使用的Web服务器端脚本语言是Adobe ColdFusion的兄弟,Railo,特定标签是CFMAIL。如上所述,将CFTRY包装在CFMAIL周围对此没有帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

确定邮件是否已送达有多种因素。

1)使用CFMAIL发送消息时,可以在cfmail标记中指定邮件服务器,也可以使用服务器默认值。执行标记时,coldfusion / railo将尝试访问该服务器。如果服务器不可用或被阻止,您的消息将转到coldfusion / railo无法传送的文件夹。检查的唯一方法是编写脚本来监视无法传递的文件夹及其内容。

2)如果coldfusion / railo成功连接到SMTP服务器并尝试发送电子邮件,则您的通知将来自SMTP服务器而不是coldfusion / railo。邮件将从SMTP服务器发送到failto=""路径,如果未指定,则发送到from=""。该邮件将被通知“邮箱不存在”,“不允许中继”,“用户超过邮箱限制”等等。

如果您需要监控这些退回,您可以为failto =“”创建一个单独的电子邮件帐户,并使用CFPOP监控电子邮件帐户的跳出。

此外,如果您使用sendgrid这样的公司作为外发SMTP服务器,他们将提供API来监控退回,退出,垃圾邮件投诉等......