Php

將所有傳入郵件通過管道傳輸到命令 (exim4)

  • December 28, 2021

如何設置 Exim 以將所有傳入郵件通過管道傳輸到命令 (PHP)?並且從不拒絕電子郵件?

我正在使用 Debain 擠壓和 Exim4

使用這個配置讓它工作:

primary_hostname = mywebsite.com
domainlist local_domains = localhost:mywebsite.com
domainlist relay_to_domains =
hostlist   relay_from_hosts = 127.0.0.1

received_header_text = Received: by $primary_hostname id $message_exim_id

acl_smtp_rcpt = acl_check_rcpt

never_users = root

host_lookup = *

begin acl

acl_check_rcpt:
 accept domains = mywebsite.com
 accept authenticated = *

begin routers

receive_router:
 debug_print = "R: receive_router for $local_part@$domain"
 driver = accept
 domains = mywebsite.com
 transport = php_receive
 no_more

send_router:
 debug_print = "R: send_router for $local_part@$domain"
 unseen = true
 driver = accept
 transport = php_send

dnslookup:
 debug_print = "R: dnslookup for $local_part@$domain"
 driver = dnslookup
 domains = ! +local_domains
 transport = remote_smtp
 ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
 no_more

begin transports

remote_smtp:
 driver = smtp
 return_path = mailer@mywebsite.com

php_receive:
 driver = pipe
 command = /var/mailer/receive >> /var/mailer/receive_output.log
 group = mail

php_send:
 driver = pipe
 command = /var/mailer/send >> /var/mailer/send_output.log
 group = mail

begin rewrite

root@mywebsite.com              mailer@mywebsite.com    Ffrsbc

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