![Exim4 拦截所有外发邮件](https://linux22.com/image/661140/Exim4%20%E6%8B%A6%E6%88%AA%E6%89%80%E6%9C%89%E5%A4%96%E5%8F%91%E9%82%AE%E4%BB%B6.png)
我在 Debian 8(jessie)机器上设置了一个 LAMP 堆栈。我正在尝试找到一种方法来拦截 PHP 发送的所有外发邮件(通过 sendmail),并将其发送到我的本地收件箱(本地用户),而不是将其发送出去。我不想向外界发送任何东西,我只希望能够通过我的终端查看消息的内容。
我知道这可以与 Postfix 一起使用,但我无法在我的计算机上安装 Postfix,因为它与 Exim4 冲突,而且我不想对我的开发服务器进行太多更改。
这可以做到吗?如何做到?
答案1
您必须创建重定向传出消息的路由器:
intercept:
driver = redirect
domains = !+local_domains
data = [email protected]
pipe_transport = address_pipe
no_more
将该路由器放在部分的最开始处,begin routers
以确保每条消息都将被处理。当发送到外部域的消息落入该路由器时,它将用替换原始收件人[email protected]
。您还可以实施将由路由器检查的收件人白名单/黑名单。也就是说,如果收件人属于白名单,则消息将不会被拦截,而其他所有消息都会被拦截。