我需要在开发/测试环境中设置 postfix 来过滤电子邮件,这样我们就不会向客户发送垃圾邮件。在我们的测试环境中,我们清理了所有用户数据,以便将电子邮件地址更改为 @localhost,尽管稍后可能会出于测试目的将某些地址更改为有效的电子邮件地址。我们通过第三方提供商转发所有电子邮件以进行交付,因此我想做的是将 postfix 设置为:
作为 postfix 的新手,设置它的最简单方法是什么?
好吧,我似乎已经通过一些搜索和测试设法解决了这个问题。这是我必须做的:
在 /etc/postfix/main.cf 中:
Run Code Online (Sandbox Code Playgroud)transport_maps = hash:/etc/postfix/transport smtp_sasl_auth_enable = yes smtp_sasl_password_maps = static:<relayhost username>:<relayhost password> smtp_sasl_security_options = noanonymous smtp_tls_security_level = may start_tls = yes
在 /etc/postfix/transport 中:
Run Code Online (Sandbox Code Playgroud)localhost discard: localhost.localdomain discard: * relay:[smtp.relayhost.com]:587
中继显然也绕过了 alias_maps 指令,所以为了让别名继续工作,我必须注释掉 alias_maps 和 alias_database,并用 virtual_alias_maps 替换它们。virutal_alias_map 的格式与 alias_maps 相同,因此很容易进行更改。
完成这些更改后,只需重新启动 postfix 并运行“postmap /etc/postfix/transport”来构建 transport.db。现在所有寻址到@localhost 或@localhost.localdomain 的内容都被丢弃,而其他所有内容都通过指定的主机进行中继。
归档时间: |
|
查看次数: |
10489 次 |
最近记录: |