问题和目标
我当前的项目需要执行用户验收测试,其中包括在需要系统中的操作时测试电子邮件,例如电子邮件通知。
我的目标是创建一个电子邮件设置,以捕获除客户域之外的所有电子邮件。
数据库包含真实的电子邮件(例如客户和供应商的电子邮件),并且需要保持不变。原因是更改所有电子邮件地址会很麻烦,但仍然不会妨碍任何人更改电子邮件并将其发送到现实世界。
我们目前使用模拟 SMTP(Papercut SMTP)。它将所有外发电子邮件收集到一个收件箱中。问题是由于很多用户同时测试收件箱很快就会拥挤,而且用户也不容易访问Papercut客户端。
因此,我想要一个能够捕获所有外发电子邮件(如当前)的解决方案,但将所有要发送到客户自己域的电子邮件转发。
当前的解决方案和替代方案
在 Papercut 中,我可以设置一个正则表达式并转发到单个电子邮件。但是,如果电子邮件在客户的域内,我无法动态检查电子邮件的域并将其转发到同一电子邮件。
我还研究了其他模拟 SMTP 解决方案,特别是 Mailtrap、smtp4dev、MockSMTP、MailHog、MailSlurper、MailCatcher、FakeSMTP、SMTP Bucket 和 LunaticSMTP。
Mailtrap 可能是一个解决方案,我已经向他们询问过(当我得到答案时我会在这里更新)。其他人似乎无法做我需要的事情。
更新:Mailtrap 确实具有预期的功能。然而,这是一个付费的解决方案。
问题
你知道我有什么方法可以实现目标吗?或者任何其他/更好的方法来解决它?