Postfix禁用本地传递


Answers:


25

为了使postfix知道不在本地传递邮件,您需要在main.cf中对一些配置变量(如果与设置相关)进行更改-从官方的postfix文档中,您需要确保从以下变量中删除所有不想被视为本地的域:

  • mydestination:通常包含本地提供的域列表
  • local_recipient_maps:包含本地收件人地址的查找表
  • local_transport:本地邮件的默认传输-如果 inet_interfaces proxy_interfaces 与邮件的目的地匹配,则进行更改
  • virtual_mailbox_domains: mydestination 相同如果您正在使用的话

除此之外,我建议您:

  • 在命令行中使用postconf可以快速访问postfix配置变量中的当前值(有关更多详细信息,请参阅man postconf
  • 有关所有详细信息,请访问官方postfix网站上的postconf / main.cf信息页面

是的,后缀可能很复杂-但这就是其可配置性的优点。

希望这可以帮助!


4

我不确定这是否是理想的解决方案,但是我有一个带有单个域的盒子,这对我有用。我正在使用Google Apps接收电子邮件,并且我们安装了Postfix以发送交易电子邮件,最终通过sendgrid传递给我们网站的用户。

我发现postfix正在用数千条消息填充/ Maildir并吞噬了系统上的磁盘空间。

我在etc / postfix / main.cnf中更改了以下内容:

mydestination = ip-{IP-ADDRESS-HERE}.ec2.internal, localhost.ec2.internal, , localhost

至:

mydestination = localhost

其中{IP-ADDRESS-HERE}是您的IP,例如10-100-10-10

重新启动postfix后,我进行了测试,并且消息仍然可以通过postfix成功发送到sendgrid并发送出去,但是现在我的maildir不再充满不必要的消息。


4

通过在Plesk的上下文中专门搜索此问题,我找到了这个问题和答案。似乎在som配置下(可能取决于您的托管服务提供商),Plesk喜欢假定postfix无论如何都将使用本地传递。最有帮助!

然后,我找到并关注了这篇文章,该文章有助于为我解决问题:http : //www.rcneil.com/blog/postfix-local-loop-in-plesk/

相关部分是:

找到PostFix的“ main.cf”配置文件,对于CentOS 6,该文件位于/etc/postfix/main.cf ...

然后,通过文本编辑器或在Linux shell中打开文件,并进行以下操作:

virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/virtual_domains
virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual
virtual_mailbox_maps = hash:/var/spool/postfix/plesk/vmailbox

像这样注释掉:

#virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/virtual_domains
#virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual`
#virtual_mailbox_maps = hash:/var/spool/postfix/plesk/vmailbox`

然后,重新启动Postfix服务...,瞧!您的电子邮件地址现在应该正在接收这些电子邮件。

只是想在这里记录下来,以防万一有人发现准确了解对我有用的设置会有所帮助。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.