2012-08-29 124 views
2

我们已经建立了轨道3.2.8的应用程序。我们正在向客户发送电子邮件。我想阻止某些电子邮件地址。基本上邮件只是忽略这些特定的电子邮件地址。如何阻止电子邮件到某些电子邮件地址或域名?

例如:我的公司名称为abc,我不想发送邮件到我的所有员工即[email protected][email protected]即*@abc.com

我该怎么做?

PS:我用的sendgrid,他们没有提供这样的事。

编辑:

配售这段代码初始化目录:

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

    end 
end 

ActionMailer::Base.register_interceptor(EmailAddressFilter) 

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

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

+0

你到底是在你的日志中看到什么?该电子邮件仍将被渲染/构建,我期望它会出现在日志中。 – deefour

+0

@Deefour好还是让我在生产模式下对其进行测试。 –

+0

@Deefour合作生产服务器上.. :)非常感谢.. –

回答

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) 
+0

NoMethodError(未定义的方法'匹配”的[ “[email protected]”]:邮件:: AddressContainer): –

+0

这只是一个*(简单)*你如何去做这件事的例子。你的匹配/检查将更加精细和彻底。我接着说:。加入(“”)'我认为应该让错误消失*(但不会使测试完成IMO)* – deefour

+0

我明白了。看看问题编辑。 –

相关问题