我希望能够测试我自动发送的邮件是否真的发送了,但我不希望这些邮件泄漏到现实世界。有没有办法配置我的邮件设置,以便从我的测试环境发送的所有邮件都自动转发到单个邮箱?
我想我可以在我的配置中配置地址,但是如果我用我的测试电子邮件替换我系统中的每封电子邮件,我将无法清楚地检查邮件是否真的正确创建。
在测试时,我可能会输入真实世界的电子邮件地址,但我不想冒险将邮件发送给客户。
我希望能够测试我自动发送的邮件是否真的发送了,但我不希望这些邮件泄漏到现实世界。有没有办法配置我的邮件设置,以便从我的测试环境发送的所有邮件都自动转发到单个邮箱?
我想我可以在我的配置中配置地址,但是如果我用我的测试电子邮件替换我系统中的每封电子邮件,我将无法清楚地检查邮件是否真的正确创建。
在测试时,我可能会输入真实世界的电子邮件地址,但我不想冒险将邮件发送给客户。
安全隔离测试环境的一种方法是配置一个邮件服务器,它可以捕获来自和发往所有域的所有邮件,并将它们放在一个大收件箱中。如果我在我的测试环境中配置该邮件服务器,所有邮件都会被发送出去。
许多邮件服务器都支持这种情况。我在 Azure VM 上使用了一个开源的 hmailserver。安装步骤:
使用默认设置安装它。然后配置它:
创建域anymail
现在一切都应该正常了。您应该可以在配置中配置anymail.yourregion.cloudapp.azure.com,也可以在您的邮件程序(例如 Outlook)中配置。您可以检查是否可以将邮件从任何发件人发送到任何收件人。测试发送到您常规电子邮件地址的邮件是否不会到达您的常规邮箱。
诊断
在调整设置时,我经常查看状态 -> 交付队列。该队列不会自动刷新,需要手动刷新。您可能需要在测试时清除它。(我经常陷入循环,导致很多消息。)