2010-08-09 13 views
5

Ho un'applicazione di rotaia in esecuzione in un ambiente di staging, che è una copia accurata della produzione. Mi piacerebbe essere in grado di inviare mail con ActionMailer, per verificare che tutto funzioni come dovrebbe, ma per evitare errori, mi piacerebbe molto essere in grado di limitare il mailer dall'invio a qualsiasi indirizzo non presente il mio dominioLimita ActionMailer a un dominio

Non sembra che ActionMailer supporti questo dal get go, ma c'è un plug-in o forse una patch di qualche tipo, che potrebbe fare questo?

risposta

2

sto facendo seguito con successo:

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 

è necessario includere questo modulo in tutte le vostre mailer. Funziona su Rails 2.3.8, non so se funziona su Rails 3.

1

Dai un'occhiata alla gemma sanitize_email - è una soluzione eccellente per questo.

Non consente di specificare un dominio, ma consente di limitare l'invio di e-mail a un elenco specifico di destinatari che impedirà l'invio di e-mail a destinatari non intenzionali.

0

Controlla la gemma mail_safe. È in qualche modo simile a sanitize_email gem, ma consente di continuare a inviare email per domini/e-mail autorizzati normalmente. E this blog post (non mio) copre sia la configurazione e l'utilizzo delle gemme sanitize_email e mail_safe.

Problemi correlati