如何阻止电子邮件到某些电子邮件地址或域?

时间:2012-08-29 17:16:00

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

我们有一个内置rails 3.2.8的应用程序。我们正在向客户发送电子邮件。我想阻止某些电子邮件地址。基本上邮寄者只是忽略那些特定的电子邮件地址。

例如:我的公司名称是abc,我不想向所有员工发送电子邮件,即john@abc.com或rayn@abc.com,即*@abc.com

我该怎么做?

PS:我使用的是sendgrid,他们没有提供这样的内容。

修改

将此代码放在初始化程序目录中:

 class EmailAddressFilter
  def self.delivering_email(message)
    message.perform_deliveries = false

  end
end

ActionMailer::Base.register_interceptor(EmailAddressFilter)

应该阻止所有电子邮件。但我仍然可以在开发日志中看到电子邮件。

PS:我已经重新启动了我的服务器。

1 个答案:

答案 0 :(得分:3)

config/initializers的文件中,您可以添加类似

的内容
class EmailAddressFilter
  def self.delivering_email(message)
    # permit or deny the message using its "to", "body" etc properties
    # note message.to is an array (multiple emails)
    message.perform_deliveries = Email.whitelisted?(message.to)
  end
end

ActionMailer::Base.register_interceptor(EmailAddressFilter)
相关问题