问题描述
我正在使用 heroku SendGrid 插件按照通过 heroku 调度程序插件定义的时间表发送提醒电子邮件。
我想做一些实时测试,以确保 heroku 调度程序配置正确并且电子邮件真正发送。
问题是我有一个包含大量虚拟数据的应用程序。例如。 something_random_ldskfj@example.com
或 sldkfjsldfjsldkfj@example.com
之类的电子邮件。我担心那些发送的电子邮件要么未读,要么退回,或者 SendGrid(或任何邮件服务)认为“负面”的其他内容,这会将我的帐户标记为可疑。
问题
如何使用 heroku 调度程序对我的应用进行现场测试,并确保电子邮件确实在正确的时间发送,而不会招致扰乱邮件服务的愤怒?
我想做什么
- 设置很多个测试 Gmail 帐户 - 每个虚拟用户一个(不受欢迎)
- 发送到诸如
sldfjsd@example.com
之类的随机电子邮件而不担心潜在的后果(非常糟糕的主意) - 使用我自己的个人电子邮件在我的应用中设置所有虚拟帐户(无法完成,因为数据库会强制执行电子邮件的唯一性)
- 使用 Heroku 或 SendGrid 专门为此目的提供的一些电子邮件地址? (如果存在的话听起来不错?)
- 更改我的所有测试数据,以便发送电子邮件的条件永远不会满足,除了极少数(它可以工作,但需要更改所有测试数据,因此会更改应用程序的外观和感觉)
解决方法
在与比我更有经验的人讨论后,我得到的建议是
- 如果可以只将电子邮件发送给您自己,那么就这样做(在我的情况下是不可能的)
- 无需测试 heroku 的调度程序(相信它可以工作)
- 编写非常好的测试以确保您计划任务中的逻辑和代码在本地运行,并信任它们 - 这些测试结果意味着它会在生产中按预期运行