Email
使用 Exim 將郵件發送到多個目的地
我想將郵件傳遞到多個目的地,即 php 腳本和使用者郵箱。我正在使用 Exim 發送郵件。我已經更改了 exim 配置文件的路由器和傳輸部分,如下所示。我設計了一個名為 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
只是在我的文件中寫了以下配置:############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 是我命中註定的腳本。