每当生成Invite时,我都希望使用后台进程发送电子邮件。
我目前使用的是这种方法:Invite模型有send_mail方法,它使用Mandrill和gem发送电子邮件。它还具有使用Resque将带有invite ID的queue_mail添加到队列中的InviteMailer方法。
然而,…由于我在编写这方面的规范时遇到了一些困难,我认为这可能不是发送邮件的最佳方法。
我主要想要和需要测试的是:
InviteMailer工作正常吗?重要的信息是:发送到正确的人,包含一个链接到特定的网站和一些特定的数据/文本;我也不知道如何使当前主机的链接。
我不认为这是一件罕见的事情,所以我想知道什么是最佳实践。
我的测试环境: rspec,水原,工厂女孩。我已经添加了VCR,以缓存API-请求。
发布于 2014-02-28 15:23:05
您可以使用邮递员伪造邮件服务器,并通过web检查收到的邮件:
特性
How
gem install mailcatchermailcatcherhttp://localhost:1080/smtp://localhost:1025发送邮件API
公平的RESTful URL模式意味着您可以从/messages下载JSON中的消息列表,使用/messages/:id.json下载每个消息的元数据,然后下载默认的/messages/:id.html和纯文本版本的/messages/:id.html和/messages/:id.plain的相关部分,通过CID下载单个附件的/messages/:id/:cid,或者用/messages/:id.source下载整个消息。
https://stackoverflow.com/questions/18398527
复制相似问题