我需要配置一个 SMTP 服务器来接受任何可能在端口 25 上到达它的地址的任何电子邮件并将其传送到本地邮箱(即垃圾邮件沉洞)
我的操作系统默认支持的 MTA 是 Postfix,我没有这方面的经验。我曾经做过很多 Sendmail 和 Exim,但那是几年前的事了。
这可以用 Postfix 完成吗?
Jen*_*y D 10
您可以使用虚拟邮箱执行此操作。代替通常的查找映射,您将拥有一个如下所示的 PCRE 表:
/.*/ spamuser
Run Code Online (Sandbox Code Playgroud)
spamuser无论收件人是什么电子邮件地址,都返回用户名。
在您的 postfix.conf 中,您将拥有该行
virtual_alias_maps = pcre:/etc/postfix/virtual
Run Code Online (Sandbox Code Playgroud)
有一个关于这两个更多信息虚拟别名映射和PCRE表在postfix.org
这是我如何做到的
创建用户网络邮件
adduser webmail
Run Code Online (Sandbox Code Playgroud)
我必须安装 postfix-pcre 包。代码:
sudo apt-get install postfix-pcre
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为 /etc/postfix/virtual 的文件,如下所示:-
代码:
/.*/ webmail
Run Code Online (Sandbox Code Playgroud)
编辑/etc/postfix/main.cf添加这一行:
virtual_alias_maps = pcre:/etc/postfix/virtual
Run Code Online (Sandbox Code Playgroud)
对于绝对的新手(比如我),如果配置正确,查询命令:代码:
postmap -q test@a pcre:/etc/postfix/virtual
Run Code Online (Sandbox Code Playgroud)
将返回在虚拟文件 (/etc/postfix/virtual) 中指定的电子邮件 ID。在这种情况下。代码:
webmail
Run Code Online (Sandbox Code Playgroud)
要测试工作情况,请使用终端中的 mail 命令。代码:
mail testmail@example.com
Run Code Online (Sandbox Code Playgroud)
输入主题、邮件正文,然后按 Ctrl+D(退出撰写窗口)。
要查看消息,请使用以下命令。(webmail是虚拟文件中配置的邮件id。用你的名字代替。)代码:
mail webmail
Run Code Online (Sandbox Code Playgroud)
PS:要检查邮件日志,请使用以下命令。代码:
tail -f /var/log/mail.log
Run Code Online (Sandbox Code Playgroud)