3

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: サーバーを再起動しました。

4

1 に答える 1

5

のファイルに、次の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)
于 2012-08-29T17:22:59.100 に答える