如何设置 Exim 将所有传入邮件通过管道传输到命令(PHP)?并且永远不会拒绝电子邮件?
我正在使用 Debain squeeze 和 Exim4
答案1
使用这个配置就可以正常工作:
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 = [email protected]
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
[email protected] [email protected] Ffrsbc
答案2
使用宽松的 ACL 和管道运输你真的意思是全部接收邮件?
如果您只想自己编写一个配置文件,而不是与 Debian 的 Exim 方式作斗争,请将其命名为 /etc/exim4/exim4.conf - 它将覆盖 Debian 特定的分散在子目录中的配置。