catch-all最常见的应用就是临时邮箱了,比如你要注册一个网站的账号需要填写邮件地址进行验证,这时候又不想暴露自己的常用邮件地址就可以随便乱写一个你的邮箱地址,最终邮件你还是可以收取的到。
在你开始用本文的配置进行尝试的时候务必先按照这篇文章把基础环境搭建好:
> Debian10使用Postfix+Dovecot+RainLoop搭建邮件服务器
首先在dovecot内添加一个邮箱账户:
nano /etc/dovecot/users格式如下:
catchall@imlala.best:{PLAIN}password::::::然后配置postfix:
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"新建virtual_alias_maps所需要的配置文件:
nano /etc/postfix/virtual在里面写入如下配置:
@imlala.best catchall # catch-all邮箱
lala@imlala.best lala # 排除指定用户的邮件不进入catch-all邮箱这里额外补充一点关于postfix做转发邮件的配置,这个最简单,例如我要转发邮件到Gmail,那还是在这个配置内加入如下内容即可:
forward@imlala.best example@gmail.com注:转发用的邮箱地址不需要在dovecot里面创建邮箱账户,随便怎么写都可以。
做完上面这些配置后需要用postmap生成一下db文件:
postmap /etc/postfix/virtual重启postfix即可生效
systemctl restart postfix最后测试一下catch-all,可以看到我的这个邮箱能够收取一个根本不存在的邮件地址的邮件: