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