2010-08-09 17 views
5

Bir hazırlama ortamında çalışan bir raylı uygulamasına sahibim, bu da üretimin doğru bir kopyasıdır. ActionMailer ile e-posta gönderebilmeyi, her şeyin gerektiği gibi çalışıp çalışmadığını test etmeyi çok isterim, ancak herhangi bir hatayı önlemek için, maillerin, üzerinde olmayan adreslere gönderilmesini kısıtlamak istiyorum. kendi alanımActionMailer öğesini bir etki alanıyla sınırla

Bu ActionMailer uygulamasının devam etmesini desteklemiyor gibi görünüyor, ancak bir eklenti veya bir çeşit yama var mı, bunu yapabilir mi? Ben başarı ile şu yapıyorum

cevap

2

:

module FilteredMailer 

    def self.included(base) 
    base.class_eval do 
     alias_method :create_mail_orig, :create_mail 

     def create_mail 
     recipients(filter_out_recipients(recipients)) 
     create_mail_orig 
     end 
    end 
    end 

    private 

    def filter_out_recipients(recipients) 
    ... 
    end 
end 

Sen tüm postaları bu modülü dahil etmek gerekir. Bu Rails 2.3.8'de çalışır, Rails 3'te çalışıp çalışmadığını bilmiyorum.

1

sanitize_email gemine bir göz atın - bunun için iyi bir çözüm.

Bir etki alanı belirtmenize izin vermez, ancak istenmeyen e-posta alıcılarına giden e-postaları engelleyecek olan e-postaların belirli bir alıcı listesine gönderilmesini kısıtlamanıza izin verir.

0

Mail_safe gem'e göz atın. Sanitize_email gemine biraz benzer, ancak normalde beyaz listeye eklenmiş alan adları/e-postalar için e-posta göndermeye devam etmenizi sağlar. Ve this blog post (benim değil) hem de sanitize_email ve mail_safe mücevher yapılandırmasını ve kullanımını kapsar.

İlgili konular