我想配置Postfix以捕获所有域名的所有电子邮件并将其储存在本地,这个应该如何实现?
比如我用它来测试,被测试的应用程序将电子邮件发送到随机地址(abc@szl724.com,def@nbqykj.cn等),我想在本地检查这些电子邮件。
我们现在已经知道如何把所有邮件都收到一个邮箱里,只需要在main.cf中的以下内容配置转发地址就行,例如:anyuser@mydestination 到localuser:
local_recipient_maps= luser_relay = localuser
这个但是不能转发所有域,也就是不能转发类似这样的邮件:anyuser@anydomain
其实要实现postfix获取所有域的任意邮件,配置也比较简单,只需要将”mydestination”指定为接受任何域的正则表就可以了。
具体配置如下:main.cf
local_recipient_maps= luser_relay = riskop mydestination = regexp:/etc/postfix/match_all_destination_re
match_all_destination_re:
// this_can_be_anything
当然您也可以使用perl相容的”pcre”格式表,而不是”regexp”表格式。这可能会带来更好的效能,虽然我这边基本用不到。在pcre格式下,你还需要在Postfix中支持pcre,需要重新编译postfix。
配置类似:
local_recipient_maps= luser_relay = riskop mydestination = pcre:/etc/postfix/match_all_destination_re
是不是很简单?有需要的就试下吧。关注数之灵(szl724.com),关注服务器相关资讯和实用教程。