在测试生产应用程序时,我们偶尔需要从实时站点提取数据并在开发服务器上执行测试。
数据库中存储了相当多的电子邮件地址,每次我们恢复到开发服务器时都需要修改这些地址。偶尔我的团队中有人会漏掉一个地址,并意外地通过分发列表发送电子邮件。由于该电子邮件来自克隆,因此看起来是合法的,这可能会导致相当严重的情况。
每次克隆实时应用程序时,我们都会遵循一个协议,这很有帮助,但如果两台服务器无法通信,我会感觉更好。有没有好的方法可以做到这一点?防火墙规则可以阻止电子邮件吗?Plesk 有黑名单吗?
答案1
如果两台机器必须保持相同,则阻止克隆在网络层(即防火墙)发送电子邮件。
答案2
大多数电子邮件服务器都可以配置为仅以队列模式运行。如果您还禁用队列运行器进程,则邮件将被接受但不会被发送。您可以通过检查队列来检查外发邮件。
如果您知道不想向其发送电子邮件的电子邮件地址,则可以创建别名来删除这些邮件。Exim 使用目标来:blackhole:
执行此操作。您可能需要配置邮件服务器以在别名查找中包含或忽略域名。
禁用邮件系统监听器可能会起作用,但有些程序会直接调用 sendmail,不需要监听器。但这可能会让您的程序烦恼,有些程序可能会尝试寻找一个正常工作的中继服务器。
使用 iptables 阻止端口 25 上的出站流量是另一种选择。不过这会让您的邮件服务器烦恼。它会重试传输,并最终尝试返回您的邮件。
将上述方法与自动清理相结合将是最好的方法。