我正在开发测试应用程序并在我的工作电脑上运行整个事情。我正在使用我的公司邮件服务器发送邮件。它正常工作正常。我想知道如何处理任何条件,如邮件服务器无法从我的电脑到达。 据我了解,rails应用程序只是发送邮件,就是这样。无法知道邮件是否到达收件人,收件人邮件标识是否正确等。 有关如何处理此方案的任何想法? 感谢和问候, Anjali从rails或actionmailer发送电子邮件的状态
0
A
回答
1
我相信你在这里混合了两个问题,这些问题真的很不相关。
第一个问题 - 确保电子邮件被企业邮件服务器(即本例中的邮件中继)接受。为了解决这个问题,你可以建立一个本地的消息队列(将它们存储在数据库,队列服务器等等) - 然后用一个单独的工作进程发送它们,这将从队列中提取每条消息,尝试传递并删除它只有当它被邮件中继接受时。
或者,如果您不需要对流程进行低级别手动控制,则可以在您的计算机上设置简单的本地邮件服务器,而如果直接向您的企业邮件中继发送电子邮件,只需将它们提供给您本地邮件服务器。然后它将确保电子邮件已正确传送到公司。
但在这两种情况下,你不会得到关于该消息被交付给最终收款方的任何信息 - 如电子邮件地址是否有效,用户的邮箱是不是满等
问题二 - 跟踪邮件传递错误。为了正确彻底地解决这个问题,您需要捕获所有从远程服务器反弹回来的邮件并对其进行分析,因为在发送邮件的时刻许多错误是未知的 - 但它们稍后会以邮件的形式返回反弹。如果您发现并追踪这些反弹,您将能够发现类似于完整邮箱,无效电子邮件,暂时交付失败等错误。
这是它在邮件列表管理软件中完成的方式 - 例如,phpList在完全一样的方式。
0
我想过这个问题。我的想法是将邮件存储到一个名为“mailqueue”的单独模型中,然后运行ruby脚本,只有当公司邮件服务器可用时,才会从该邮件队列中提取和删除邮件(我已经有了这样的代码,我相信)。当然,如果有更好的办法,我也会欢迎。
相关问题
- 1. Rails 4 actionmailer不发送电子邮件
- 2. Rails 4 - ActionMailer发送送货确认电子邮件
- 3. 的Rails的ActionMailer发送电子邮件的commentable模型
- 4. 的ActionMailer Rails的:无法发送电子邮件
- 5. ActionMailer - 根据日期条件在rails中发送电子邮件
- 6. rails 3 actionmailer无法发送电子邮件
- 7. Rails ActionMailer发送电子邮件没有身份验证
- 8. Rails:将由prawn生成的pdf发送给ActionMailer发送的电子邮件?
- 9. 从Gmail Rails发送电子邮件3
- 10. 如何从ActionMailer发送已签名的电子邮件?
- 11. 的ActionMailer Rails中未发送邮件3.1.1
- 12. 发送电子邮件从
- 13. 发送电子邮件给多个收件人的ActionMailer
- 14. 手动发送电子邮件的Rails
- 15. Rails ActionMailer TSL插件 - 发件人电子邮件问题
- 16. Rails ActionMailer将电子邮件复制到发送文件夹SMTP ruby
- 17. 发送HTML电子邮件与内嵌图像用的ActionMailer
- 18. Rails按计划发送电子邮件
- 19. rails 3电子邮件发送问题
- 20. Rails&Mailgun:电子邮件不发送
- 21. Rails ActionMailer在发送电子邮件之前添加几毫秒的延迟
- 22. 使用ActionMailer从发布数据发送电子邮件的问题
- 23. Magento - 发送不同订单状态的电子邮件
- 24. PHP发送电子邮件多次发送电子邮件
- 25. Rails通过actionmailer和activemodel给我发电子邮件,SMTPAuthenticationError
- 26. 使用ActionMailer发送带附件的邮件时,电子邮件正文缺失
- 27. 如何使用ActionMailer发送html电子邮件?
- 28. 每当宝石每日电子邮件使用actionmailer不发送
- 29. 在ActionMailer中暂停发送电子邮件
- 30. 如何在发送之前修改actionmailer电子邮件html_part
当然。尽管你自己不需要这样做,但是已经有很多邮件队列了。每个不重要的SMTP服务器都会这么做:) – radiospiel 2012-01-31 10:51:34
不够公平。这绝对是一条路,尽管出于某种原因,我提到上述原因是有原因的。 。 。 – Rilindo 2012-01-31 19:23:39
不用担心。我们最近刚刚开始讨论这个问题,当时有人建议在rails中实现一个队列,这个队列可以存放邮件,以便我们以后可以发送邮件。如果生成邮件是问题(因为,例如将模型转换为最终邮件的代码),那么排队肯定会成为一种方式。人们经常为此使用delayedjob或resque。) – radiospiel 2012-02-01 20:53:34