从测试环境发送的沙盒/捕获(catchall)邮件



我希望能够测试我的自动发送邮件是否真的发送,但我不希望这些邮件泄漏到现实世界中。有没有办法配置我的邮件设置,以便将我的测试环境发送的所有邮件自动转发到一个邮箱?

我想我可以在配置中配置地址,但是如果我用测试电子邮件替换系统中的每个电子邮件,我将无法清楚地检查是否真的正确创建了邮件。

测试时,我可能会输入现实世界电子邮件地址,但我不想冒险发送给客户的邮件。

安全隔离您的测试环境的一种方法是配置一个邮件服务器,该邮件可以从所有域中捕获所有邮件,并将它们放在一个大收件箱中。如果我在测试环境中配置了该邮件服务器,则所有邮件都是c的。

许多邮件服务器支持此情况。我在Azure VM上使用了开源One,HmailServer。安装步骤:

  1. 创建一个Azure VM。我使用了标准的DS1 V2,但更轻的版本也可能就足够了。我选择了Windows Server2016。同样,许多其他人也有效。
  2. 给您的机器一个DNS名称。例如 anymail.yourregion.cloudapp.azure.com
  3. 在门户中,打开端口 25,143 578 for tcp
  4. 通过远程破坏连接
  5. 在机器本身上,也打开端口 25,143 587 在防火墙设置中
  6. 启用.NET 3.5。我通过程序和功能=>打开和关闭Windows功能。
  7. 将HmailServer下载到您的VM D:驱动器(这是临时空间(。您需要将hmailserver.com domain添加到您值得信赖的网站上才能下载。
  8. 使用默认设置安装它。然后配置它:

  9. 创建一个域 Anymail

  10. 在"域"选项卡上高级配置Cathchall-Address:Anymail@Anymail
  11. 在您的域中创建一个帐户: Anymail@Anymail 并选择一个简单的密码。
  12. 创建一个规则:从 mailer-daemon@anymail.yourregion.cloudapp.azure.com
  13. 在设置中-SMTP Enter anymail.yourregion.cloudapp.azure.com 作为本地主机名。设置每次重试的重试和分钟数的数量。
  14. 在反垃圾邮件白名单中 0.0.0.0 通过 255.255.255.255
  15. 在高级 - 镜像Enter Anymail@Anymail
  16. 在高级-IP范围删除Localhost
  17. 在高级-IP范围内双击 Internet ,然后在"请求SMTP身份验证"之前删除所有复选框"
  18. 在高级 - Autoban禁用Autoban。

现在一切都应该起作用。您应该能够在配置中配置 anymail.yourregion.cloudapp.azure.com ,也可以在您的邮件程序(例如Outlook(中进行配置。您可以检查是否可以将任何发件人的邮件发送给任何可爱的邮件。测试将邮寄到常规电子邮件地址的邮件不到您的常规邮箱。

诊断

调整设置时,我经常查看状态 ->交货队列。该队列不会自动刷新,因此您需要手动刷新它。您可能需要在测试时清除它。(我经常进入循环,导致许多消息。(

相关内容

  • 没有找到相关文章

最新更新