使用Exim发送邮件到多个目的地

我想传递邮件到多个目的地,即一个PHP脚本和用户的邮箱。 我正在使用Exim来发送邮件。 我改变了eximconfiguration文件的路由器和传输部分,如下所示。 我devise了一个名为send_to_site的自定义传输。 我能够发送邮件标题到PHP脚本,但无法发送电子邮件到用户的邮箱。 这是我定制的运输:

######路由器

catchall_mail: driver = accept domains = my.server.com transport = send_to_site 

#####运输

 send_to_site: driver = pipe command = /home/bin/curl http://my.server.com/mailTest.php --data-urlencode "mail@-" user = afterlogic group = afterlogic return_path_add delivery_date_add envelope_to_add 

其中mailTest.php是我的PHP脚本。

我经过很长时间才解决了这个问题。 在路由器部分写了我自己的自定义路由器,将电邮给我所需的PHP脚本。 在运输部分写我自己的自定义运输,将确保交付到所需的脚本使用curl。 只需在我的/etc/exim.cnf文件中写下如下configuration:

 ############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是我的注定脚本。

你必须创build两个路由器,首先应该有unseen动词。 第一个路由器必须将消息传递给脚本,而第二个路由器必须执行通常的传递到用户的邮箱。

对不起,我简短的回答,我从电话发布。