我最近用 Ruby On Rails 编写了邮件列表软件。我想就测试它的最佳方法获得一些专家建议。例如,如果我可以编写一个脚本来生成 10,000 个电子邮件地址,使用该软件向这 10,000 个地址发送电子邮件,然后编写一个脚本来确保电子邮件能够通过,那就太棒了。我不确定这有多容易/可能。
3 回答
如果您碰巧在使用 Postfix MTA 运行的系统上有一个电子邮件地址,那么您可以随意使用大量的电子邮件地址。比如我的常规邮箱是nr@cs.tufts.edu,但是发到nr+xxx@cs.tufts.edu的邮件会按照~nr/.forward+xxx的内容转发。当我需要收集 120 个不同的电子邮件地址时,我曾经使用过这个工具,因为我充当了一群其他人之间匿名通信的可信第三方。
在 Postfix 的默认配置中,手册说
name+foo 的邮件被传递到别名 name+foo 或别名,到 ~name/.forward+foo 或 ~name/.forward 中列出的目的地,到用户名拥有的邮箱,或者它因无法送达而被退回。
只要你拥有所有 10,000 个电子邮件地址,你就可以做到
简单的解决方案是使用“包罗万象”的电子邮件地址设置电子邮件服务,即接收所有传入电子邮件到该地址不存在的同一域的电子邮件服务。然后,您可以为收件人地址生成随机废话,但都在同一个域中,并且在它们发送后,您可以从万能帐户中收集它们,去掉预期的收件人电子邮件地址列表,并将其与生成的收件人列表
不过,最好在自己的电子邮件服务器/系统上执行此操作,以避免被列为垃圾邮件发送者!
我想您的 ML 管理器有一个命令界面,可以是 Web 界面,也可以是邮件界面(或希望两者兼有)?您还需要测试这些。Web UI 有点难测试,但邮件应该很简单。如果我要编写这样一个 ML 管理器,我可能会添加一个 XML-RPC/SOAP Web 服务来访问管理功能。如果您的 ML 管理器也支持按域(所有 *@aol.com 等)对邮件进行分组,那么也可以对此进行测试。在这种情况下,最好遵循 TDD 方法。MLM 中的许多功能都可以通过单元测试进行测试。