【问题标题】:Verifying bounced email id in ruby on rails在 ruby​​ on rails 中验证退回的电子邮件 ID
【发布时间】:2011-12-14 08:11:45
【问题描述】:

我正在用 ruby​​ on rails 构建一个电子邮件应用程序,我有一个基本版本,它只是用来使用 AWS SES 发送电子邮件,但最近我收到了来自 AWS 团队的邮件,说我发送的大部分电子邮件都被退回了如果我向退回的电子邮件 ID 发送电子邮件,他们将终止我的帐户。

在向任何地址发送电子邮件之前,是否有任何方法可以验证该电子邮件是否存在以及是否有效。

任何宝石或解决方法都会对我有很大帮助

【问题讨论】:

  • 我不知道这是否是您正在寻找的,但您可以使用mailcatcher gem“拦截”并可视化电子邮件。阅读更多github.com/sj26/mailcatcher
  • 这个插件已经足够好了,因为我将发送大量电子邮件,我想验证电子邮件地址以便它会被退回。是否有任何插件可以将其连接到我现有的应用程序

标签: ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

执行此操作的一般方法纯粹是从系统设计的角度来看。如果您要从您的一个用户那里收集电子邮件地址并定期向他们发送电子邮件,或者随着事件的发生等,那么您应该首先要求他们“验证他们的电子邮件地址”。这通常涉及生成一个唯一令牌,将其放入您的数据库,与用户链接,然后发送一封电子邮件,其中包含带有该唯一令牌的 URL。用户单击该链接,该链接将转到 Rails 应用程序中的控制器,该控制器将令牌与用户匹配。如果他们无法访问该链接,就无法阅读您的电子邮件,因此请不要再向该地址发送电子邮件。

如果您通过“其他方式”获得电子邮件地址,您只需在外发电子邮件上设置返回路径地址(退回邮件将在此处发送),然后检查该邮箱是否有退回邮件。我还经常怀疑人们是如何看到并非来自同意与您的网站达成协议的用户的电子邮件地址列表的。

可以使用 Mail gem 来执行此操作,但您需要知道如何设置一个 SMTP 服务器,将电子邮件通过管道传输到您的 Rails 应用程序,如果没有经验,这并不简单。您还可以使用可变返回路径地址 (VERP),例如 <some unique hash>+bounces@your-domain.com,其中 <some unique hash> 引用系统中的电子邮件地址。这消除了尝试解析和解释退回电子邮件的麻烦,因为它发送到的地址告诉您退回的收件人是谁。

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多