VM 中的所有外发邮件都应保留在本地

VM 中的所有外发邮件都应保留在本地

我设置了一个 Ubuntu 12.04 VM,用于测试和开发 magento 商店。在这个桌面 VM 上,我运行着几乎完全相同的商店副本。我更喜欢使用桌面 VM,因为这样我就可以选择在 VM 内运行浏览器并将所有内容保留在本地。如果我想的话,我可以修改 hosts 文件并将商店域名路由到 localhost。

我希望能够测试邮件功能。举个例子:对于现有商店,有些邮件未发送。我不想弄乱生产站点,而是想在虚拟机上测试这一点。如果在这里发送邮件,邮件应该留在虚拟机上,而不是通过互联网发送。所以我希望能够从 magento 发送邮件,但邮件仍留在本地。我想阅读邮件,最好使用 Thunderbird 之类的邮件客户端。

我已经使用 UFW 阻止了到端口 25 的流量,所以我希望这可以阻止邮件离开 VM。

ufw deny 25/tcp

我曾经使用过 postfix,并且更喜欢将其作为 smtp 服务器,但我不能说我经验丰富。我希望设置起来不会太复杂。

为什么不使用我自己的邮件或测试地址进行测试?好吧,这可能是一个解决方案,但在运行 magento 安装时,邮件可能会自动发送给其他人。由于我使用生产数据库的副本,其中包含真实客户和现有地址,我不希望他们收到来自测试系统的状态更新邮件。如果该解决方案仅适用于一两个域或邮件地址,那也没关系。

答案1

似乎可以通过调整 /etc/postfix/master.cf 文件将 postfix 配置为仅本地传送

http://www.opensourcery.com/blog/chad-granum/local-only-postfix-testing

答案2

如果你有 sendmail 可用,你可以有一个简单的 mailertable 映射,形式如下:

.           local:mycatchall

这会将所有邮件路由到本地帐户“mycatchall”

您可以选择在此行前面添加如下行:

mydomain.com            esmtp:[mail.mydomain.com]

它会将您自己域名的所有邮件转发到您的普通服务器。

使用 Postfix,您可以使用规范地图功能。

我认为你需要这样的东西:

/^.*$/        [email protected]

当然,您需要在主配置文件中启用您所使用的地图。

相关内容