2012-08-29 178 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

我明白了。看看問題編輯。 –

相關問題