なんとなく日々徒然と

特定のユーザに送られるメールを全てキャンセル

ナチュラムでジョイナス2000が2000円切っていたのでぽちり。
昨日届きましたがやっぱりちょっと安い感じがありました。
もう千円だしてアリビオ買えばよかったかも。

釣り記事の合間のITネタ。

usersテーブルにlockフラグを持っているなどある条件によってメールを送信するしないをアプリ全体で制御する方法。
interceptorを使います。

1
2
3
# config/initializers/mail_interceptor.rb  
  
ActionMailer::Base.register_interceptor(MailInterceptor)  
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# lib/mail_interceptor.rb  
  
class MailInterceptor  
  def self.delivering_email(email)  
    # lock中のユーザーには送らない  
    user = User.find_by(email: email.to)  
    if user.lock_flag?  
      email.perform_deliveries = false  
    end  
  end  
end  

perform_deliveriesにfalseを設定するとメールが送られなくなります。

Tags:

工房浦安 砂ズリ 今井岸壁 アジ

comments powered by Disqus