Debian - 在收到电子邮件时从exim调用外部脚本

时间:2011-09-11 00:02:54

标签: email debian external-process exim

我正在寻找有关处理传入电子邮件到某个虚拟主机的最佳方法,并使用电子邮件数据作为参数调用外部脚本 - 基本上是允许将电子邮件发送到主机上的某个“私人”电子邮件地址然后自动将某些东西插入该站点数据库。我目前将exim设置为邮件处理程序。

2 个答案:

答案 0 :(得分:0)

Procmail是一个很好的通用答案。如果您的需求非常具体,您可以直接从.forward(或Exim的相应构造 - 不记得它的不同之处)挂钩您自己的脚本,但通常情况下,将您自己的脚本包装在一个简单的{ {1}}可以帮助您避免一堆不确定的电子邮件递送细节,并专注于实际处理。

.procmailrc

答案 1 :(得分:0)

您必须遵循exim单文件配置结构。在路由器部分编写您自己的自定义路由器,将电子邮件发送到您想要的PHP脚本。在传输部分编写您自己的自定义传输,以确保使用curl传递到所需的脚本。只需在/etc/exim.cnf文件中编写以下配置:

############ROUTERS
runscript:
        driver = accept
        transport = run_script
        unseen
        no_expn
        no_verify
############TRANSPORT
run_script:
     debug_print = "T: run_script for $local_part@$domain"
     driver = pipe
     command = /home/bin/curl http://my.domain.com/mailTest.php --data-urlencode $original_local_part@$original_domain

mailTest.php将成为你的目标脚本。