【发布时间】:2017-08-17 21:59:05
【问题描述】:
当新电子邮件到达 Google Apps (Gmail) 时,有什么方法可以触发 php 脚本?我已经找到了一种轮询收件箱以查找新消息的方法,但理想情况下,我更喜欢基于事件的解决方案。基本上我需要它从某处的服务器运行,该服务器将解析新的电子邮件消息并根据消息的内容自行处理。
【问题讨论】:
当新电子邮件到达 Google Apps (Gmail) 时,有什么方法可以触发 php 脚本?我已经找到了一种轮询收件箱以查找新消息的方法,但理想情况下,我更喜欢基于事件的解决方案。基本上我需要它从某处的服务器运行,该服务器将解析新的电子邮件消息并根据消息的内容自行处理。
【问题讨论】:
大多数邮件传输代理都允许您安装过滤器,以便在收到邮件时通过程序对其进行处理。例如,SpamAssassin 就是这样工作的。
因为 Gmail 是托管的,所以您不能完全这样做。
在这种情况下,唯一现实的答案是轮询。值得庆幸的是,Gmail 公开了 POP3 和 IMAP 访问,因此检查应该非常简单。那里有几个comprehensive mail reading libraries,或者你可能疯了poke at IMAP directly。
编辑:因为您使用的是 Google Apps,所以还有 an Atom feed of unread messages,尽管您仍然需要一些东西来轮询提要,除非您碰巧有一些方便的东西可以为您进行轮询并引发请求。我隐约记得有这样的东西存在,但我不记得它叫什么......
【讨论】:
现在可以使用Google Apps Scripts。您必须创建一个脚本并将触发器附加到它以每 1 分钟左右运行一次。如果找到新电子邮件,只需调用您的 URL。
【讨论】: