我正在为基于Web的应用程序设置一个testing服务器,以发送一些电子邮件通知。
有时,testing是通过真实的客户数据来执行的,因此我需要保证服务器在testing时不能发送电子邮件给我们的真实客户。
我想要的是configuration后缀,以便它将任何传出的电子邮件,并redirect到一个电子邮件地址,而不是交付到真正的目的地。
我正在运行Ubuntu服务器9.10。
先谢谢你
设置本地用户以接收所有被困邮件:
adduser mailtrap
你需要在main.cf中添加:
transport_maps = hash:/etc/postfix/transport luser_relay = mailtrap
然后在这里创build/ etc / postfix / transport:
localhost : your.hostname.example.com: * local:mailtrap
保存然后运行: postmap /etc/postfix/transport最后重启postfix invoke-rc.d postfix restart
所有本地电子邮件将正常交付,外部电子邮件将交付到本地mailtrap帐户。
更好的办法是创build一个虚拟的别名文件:
在/etc/postfix/main.cf中:
virtual_alias_maps = pcre:/etc/postfix/virtual
在/ etc / postfix / virtual中:
/.*@.*/ root
您可以将rootreplace为您希望接收所有传出电子邮件的用户。 如果您希望本地邮件正常传递(无redirect),则可以调整此模式:
/.*@(?!hostname\.localdomain$).*/ root
原始想法在这里find: Postfix开发服务器 – 拦截所有外发邮件
Postfix提供了一个叫做smtp-sink的东西。 默认情况下,它会拦截收到的所有电子邮件。 更高版本也可以configuration为捕获文件中的电子邮件。
这在技术上并不使用后缀(而是由后缀提供的实用程序)。它也不会在技术上将每个电子邮件redirect到一个电子邮件地址。 但它确实捕获了端口25上的所有stream量,并将其转储到可以parsing的文件中。