我需要配置一个 SMTP 服务器来接受任何电子邮件发送到任何可能通过端口 25 到达的地址,并将其投递到本地邮箱(即垃圾邮件接收站)
我的操作系统默认支持的 MTA 是 Postfix,但我对此没有经验。我以前经常使用 Sendmail 和 Exim,但那是几年前的事了。
可以用 Postfix 来完成吗?
答案1
您可以使用虚拟邮箱来执行此操作。与通常的查找图不同,您将拥有如下所示的 PCRE 表:
/.*/ spamuser
spamuser
无论收件人的电子邮件地址是什么,都返回用户名。
在你的 postfix.conf 中,你应该有以下行
virtual_alias_maps = pcre:/etc/postfix/virtual
还有更多关于两者的信息虚拟别名映射和PCRE 表在postfix.org
答案2
这是我的方法
创建用户网络邮件
adduser webmail
我必须安装 postfix-pcre 包。代码:
sudo apt-get install postfix-pcre
我创建了一个名为 /etc/postfix/virtual 的文件,内容如下:-
代码:
/.*/ webmail
编辑/etc/postfix/main.cf
以添加此行:
virtual_alias_maps = pcre:/etc/postfix/virtual
对于绝对的新手(比如我),如果配置正确,查询命令:代码:
postmap -q test@a pcre:/etc/postfix/virtual
将返回虚拟文件 (/etc/postfix/virtual) 中指定的电子邮件 ID。在本例中。代码:
webmail
要测试工作情况,请使用终端中的 mail 命令。代码:
mail [email protected]
输入主题、邮件正文,然后按 Ctrl+D(退出撰写窗口)。
要查看消息,请使用以下命令。(webmail 是虚拟文件中配置的邮件 ID。用您的名字替换。)代码:
mail webmail
PS:要检查邮件日志,请使用以下命令。代码:
tail -f /var/log/mail.log
答案3
如果您想将 postfix 变成一个可以接受任何域的邮件的开放代理,您可能需要查看以下代码:http://www.postfix.org/smtp-sink.1.html
它基本上是一个负载测试器(接受然后丢弃),但您也可以将其配置为接受然后存储。