将所有收到的邮件通过管道传输到命令(exim4)

将所有收到的邮件通过管道传输到命令(exim4)

如何设置 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 特定的分散在子目录中的配置。

相关内容