Postfix不会使用Vagrant DNS主机解析器发送邮件

时间:2015-05-20 21:09:43

标签: dns vagrant postfix-mta

我在Mac电脑上。我有一个安装了Postfix的流浪虚拟机,当Vagrant的DNS主机解析器打开时,它不会发送电子邮件。 Nat DNS Host解析器修复了WordPress在没有主机解析器时吐出的各种错误,因此我需要它。如何修复Postfix而不会导致WordPress开始表现得好笑?

Vagrantfile中导致问题的代码:

config.vm.provider "virtualbox" do |v| 
  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

2 个答案:

答案 0 :(得分:3)

我会将此添加为评论,但我没有足够的声誉点来这样做。但是,我仍然希望为未来的任何用户做出贡献,因为我花了很多时间,然后我想要/需要这个。

在Ubuntu 14.04流浪盒上,我遇到了与OP相同的问题。通过测试,我发现更新/etc/resolv.conf允许我使用postfix命中我们的交换服务器,而仍然对我们的本地开发站点有本地NAT DNS解析。如下所示:

sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf; sudo service postfix restart;

奇怪的是,我的配置/操作系统更新/var/spool/postfix/etc/resolv.conf无效。

我还将此添加到Vagrant文​​件以供将来使用:

config.vm.provision "shell", run: "always", inline: <<-SHELL
   sudo echo nameserver 8.8.8.8 >> /etc/resolv.conf
   sudo service postfix restart
SHELL

答案 1 :(得分:0)

编辑Postfix DNS设置以使用受Vagrant DNS设置影响的DNS设置。

要全局更改设置,请编辑/etc/resolv.conf并输入自定义DNS IP(8.8.8.8是Google的DNS服务器)。这可能会使Vagrant共享DNS设置毫无意义。

要利用这两种设置(DNS解析和有效的Postfix的DNS设置),请执行以下操作:

cd /var/spool/postfix/etc
sed -i 's/nameserver 10.0.2.3/nameserver 8.8.8.8/g' resolv.conf

这会将Postfix使用的DNS服务器更改为8.8.8.8。