繁体   English   中英

使用Exim中的管道进行邮件路由

[英]Mail Routing using pipe in Exim

我正在寻找向多个目的地发送电子邮件,即一个用户指定的电子邮件地址,另一个用于PHP脚本。 通过网络浏览,我得出结论,我必须在路由器中使用管道并传输我的邮件代理的配置,即我的情况下的Exim。 我尝试但未能在我的Exim配置中嵌入管道传输。 服务器导致管道传输失败。 需要帮助才能解决此问题。 我修改了我的exim.cnf文件:

############ ROUTERS
system_aliases:
driver = accept 
domains = **.**.**.**(my Domain) 
transport = use_pipe

############ TRANSPORT
use_pipe:
debug_print = "Using Pipe Transport"
driver = pipe
command = /etc/script.php
return_path_add
delivery_date_add
envelope_to_add
return_output

其中script.php是我想要发送文件的第二个目的地。 这是日志:

 3402   uid=3000 gid=3000 pid=3402
 3402   auxiliary group list: 3000
 3402   home=NULL current=/
 3402 set_process_info:  3402 delivering 1ZTPOU-0000sn-JB to abc using use_pipe
 3402 Using Pipe Transport
 3402 use_pipe transport entered
 3402 direct command:
 3402   argv[0] = /etc/testScript.php
 3402 direct command after expansion:
 3402   argv[0] = /etc/testScript.php
 3402 Writing message to pipe
 3402 writing data block fd=10 size=44 timeout=3600
 3402 writing data block fd=10 size=2048 timeout=3600
 3402 writing data block fd=10 size=1 timeout=3600
 3404 set_process_info:  3404 reading output from |/etc/testScript.php
 3402 use_pipe transport yielded 2
 3402 search_tidyup called
 3399 use_pipe transport returned FAIL for abc@myDomain
 3399 post-process abc@myDomain (2)
 3399 LOG: MAIN
 3399   ** abc@myDomain R=system_aliases T=use_pipe: Child process of use_pipe transport returned 127 (could mean unable to exec or command does not exist) from command: /etc/testScript.php

* testScript出现在日志中指定的确切位置。

在路由器部分,我编写了自己的自定义路由器,将电子邮件发送到我想要的PHP脚本。 在传输部分写了我自己的自定义传输,将确保使用curl传递到所需的脚本。 保持system_aliases在路由器配置部分,因为它是,但改变驾驶员acceptredirect .Wrote在我下面的配置/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是我的php脚本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM