我正在寻找最佳方法来处理传入某个虚拟主机的电子邮件并使用电子邮件数据作为参数调用外部脚本 - 基本上是允许将电子邮件发送到主机上的某个“私人”电子邮件地址,然后自动将某些内容插入该站点数据库。我目前已将 exim 设置为邮件处理程序。
问问题
893 次
2 回答
1
您必须遵循 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 将是您的指定脚本。
于 2015-08-24T09:11:57.910 回答
0
Procmail 是一个很好的通用答案。如果您的需求非常具体,您可以直接从您的.forward
(或 Exim 的相应构造 - 不记得到底有什么不同)中挂钩自己的脚本,但通常,将自己的脚本包装在一个简单的.procmailrc
文件中可以帮助您避免一堆邮件传递的不确定细节,并专注于实际处理。
:0
' ^Subject: secretpassword adduser \/[A-Z]+
| echo "insert $MATCH into users" | mysql -d users
于 2011-10-03T15:00:11.223 回答