Coldfusion 处理或处理与失败收件人的电子邮件

Coldfusion 处理或处理与失败收件人的电子邮件,coldfusion,gmail-api,Coldfusion,Gmail Api,我们有一个发送电子邮件的Coldfusion服务器。有时,这些电子邮件会反弹或失败,这些通知会在我的gmail帐户中返回给我。有没有一种方法可以让我解析这些电子邮件,并通过gmail api从我们的数据库中删除无效的电子邮件?电子邮件通过新闻稿订阅发送,因此有取消订阅选项。在跳转消息中,可以获得用户ID(这里是cfhttp),然后我可以解析它以获得用户ID,然后取消订阅/删除该用户,这样下次发送时事通讯时,我们就不会再收到跳转通知 谷歌API的思路正确吗?()您当然可以编写代码(使用CFPOP或

我们有一个发送电子邮件的Coldfusion服务器。有时,这些电子邮件会反弹或失败,这些通知会在我的gmail帐户中返回给我。有没有一种方法可以让我解析这些电子邮件,并通过gmail api从我们的数据库中删除无效的电子邮件?电子邮件通过新闻稿订阅发送,因此有取消订阅选项。在跳转消息中,可以获得用户ID(这里是cfhttp),然后我可以解析它以获得用户ID,然后取消订阅/删除该用户,这样下次发送时事通讯时,我们就不会再收到跳转通知


谷歌API的思路正确吗?()

您当然可以编写代码(使用CFPOP或cfImap)来检查您的电子邮件收件箱中是否有弹跳。如果发件人地址专用于时事通讯,而不是您的个人收件箱,那会更好,因为这些电子邮件将与您的个人电子邮件混杂在一起

Ria Forge上的Brian Ghidinelli有一个名为的应用程序,可以帮助您检查每条消息,以确定它是否是跳出


需要注意的一点是,某些反弹不应标记为移除。例如,邮箱已满消息或临时延期(灰色列表)。因此,您的逻辑不仅需要跟踪“它反弹了吗”,还需要跟踪原因和次数。通常情况下,有一个临界值——一周内连续3次或者其他什么——这在给出你的清单时是有意义的

我已经有一段时间没有这样做了,但我只是登录到有问题的电子邮件帐户,搜索带有特定主题的电子邮件,从那里收集我想要的数据,比如它从那里跳出的电子邮件地址,并根据跳出的电子邮件地址列表使用in子句更新数据库

只需确保在扫描后删除已扫描的邮件即可

但是,在CF10+中,您可以使用secure属性,而不是调用java进行安全连接

<cfpop
   server="pop.gmail.com"
   action="getHeaderOnly"
   name="popMessages" port="995" maxrows="10"
   username="user@gmail.com"
   password="password"
   secure="yes|no">

一个关于如何使用cfpop访问gmail的快速谷歌返回了这个消息,这对于连接旧的CFs很有用

<!---
 See: http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
 Warning: Changing system properties is potentially dangerous and should be 
 done with discretion.
--->
<cfset javaSystem = createObject("java", "java.lang.System") />
<cfset javaSystemProps = javaSystem.getProperties() />
<cfset javaSystemProps.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory") />

<cfpop
   server="pop.gmail.com"
   action="getHeaderOnly"
   name="popMessages" port="995" maxrows="10"
   username="user@gmail.com"
   password="password">


您是否也使用easycfm?我好久没和你“说话”了!我希望你做得很好,谢谢你的帮助。@dlackey我想你在想别人。抱歉.cfqueryparam-您一定找到了一些旧条目。IIRC、CF8+通过属性支持ssl和tls。还要非常小心地更改系统属性,因为您正在为整个jvm全面地更改它们……是的,我将删除java位,我只是在谷歌上搜索了cfpop gmail,并为代码示例提供了它,但我会更新它,我不想鼓励使用糟糕的形式。仅供参考:添加了来自javadocs的警告,以防有人没有阅读评论。当然,除非使用非常旧的版本ie MX7:),否则不需要java黑客。gmail不是我的个人帐户,所以没有问题,但你确实提出了一些好的观点。感谢您的反馈。这是一个旧的CF9应用程序。