收到电子邮件时触发 php 脚本

收到电子邮件时触发 php 脚本

我有一台装有 qmail 的 centOS 服务器,我想设置它,以便每次发送电子邮件时,都会立即运行 php 脚本。我不需要将特定消息“转发”到 php 脚本,只需在 qmail 发送消息时触发其执行即可。但是,如果我可以让脚本至少知道哪个邮箱收到了消息,那就太好了(我将避免无用地检查所有邮箱,而这正是我的脚本目前所做的)

目前,我通过每分钟通过 cronjob 运行我的 php 脚本来实现这一点,但我想避免在没有收到邮件时无用地运行脚本,并避免平均半分钟的延迟。

如何设置 qmail 以在发送消息后触发程序的执行?

答案1

目前为止最简单的方法是使用 dot-qmail 配置文件来配置您想要调用脚本的每个邮箱。您可以阅读有关 dot-qmail 的信息这里以及可以使用的环境参数qmail 命令

答案2

所以答案是procmail。由于我不是 qmail 专家,我无法告诉您如何将其集成到 qmail 中。但答案可能是这里

然后你需要一个配方来触发程序,然后像以前一样发送邮件。完整的文档也可以在线获取:

Procmail 是一款古老(但功能强大!)的软件。我们仍然使用它来过滤垃圾邮件(是的,确实如此),每天处理大约 500,000 封邮件。

答案3

如果您正在使用 dovecot,您还可以将 managesieve 添加到 dovecot,并让它在收到某些邮件时为您做一些事情。我也是 procmail 方法的忠实粉丝。Sieve 还可以让您做其他非常酷的事情,而且它并不像 procmail 那样“古老”。

相关内容