Email

使用 Exim 將郵件發送到多個目的地

  • August 24, 2015

我想將郵件傳遞到多個目的地,即 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 是我命中註定的腳本。

引用自:https://serverfault.com/questions/716208