所以现在有几次我被客户端接收到从开发服务器发送的邮件,因为我没有清理数据库。因此,作为一个额外的安全选项,我想确保从我的开发机器发送的所有邮件要么基于域被拒绝,要么转发给我自己。
我发现了一些可以满足我的要求的问题;
开发服务器上的 Postfix,只允许将邮件发送到一个域- 这看起来不错,是我目前已经实现的,但对第一个答案的评论是正确的。通过 Sendmail 发送的邮件似乎没有使用此设置。
postfix:捕获外发邮件并重定向- 这看起来不错,但更新传输对我来说并不适用。
我还查看了地址重写http://www.postfix.org/ADDRESS_REWRITING_README.html并阅读了这篇博文http://rene.bz/redirect-all-outgoing-email-single-account-postfix/
我正在通过使用 -t 参数在命令行上调用 sendmail 来测试这个;
sendmail -t < mail
Run Code Online (Sandbox Code Playgroud)
“邮件”的内容在哪里
Date: Tue Oct 11 11:25:22 2011
To: c@example.com
Subject: test
From: whatever@somewhere.com
test
Run Code Online (Sandbox Code Playgroud)
我一直将地址更改为我的 gmail 地址和 example.com 地址。我希望所有邮件都转到另一个(工作)域。
到目前为止,我还没有看到任何限制生效。
/etc/postfix/transport 看起来像这样;
example.com :
.example.com :
* :discard
Run Code Online (Sandbox Code Playgroud)
我已将这些行添加到 main.cf
smtpd_recipient_restrictions = hash:/etc/postfix/my_access, reject
transport_maps = hash:/etc/postfix/transport
Run Code Online (Sandbox Code Playgroud)
另请注意,我使用的是与 MAMP 捆绑在一起的 Postfix,并且一直在通过 MAMP 编辑 main.cf - 文件 > 编辑模板 > main.cf
小智 8
您应该安装 pcre 并创建一个虚拟别名文件:
apt-get install postfix-pcre
Run Code Online (Sandbox Code Playgroud)
在mail.cf中:
virtual_alias_maps = pcre:/etc/postfix/virtual
Run Code Online (Sandbox Code Playgroud)
在 /etc/postfix/virtual 中:
/.*@.*/ $user
Run Code Online (Sandbox Code Playgroud)
将 $user 替换为您的通用邮箱的用户帐户。现在,从该服务器发送的每封邮件都将被捕获在 catchall 邮箱中
小智 8
我认为,最简单的解决方案,如果你想捕获所有外发邮件,插入/etc/postfix/main.cf
virtual_alias_maps = static:your_local_user_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7014 次 |
| 最近记录: |