2010-08-09 11 views
5

Mam aplikację szyny działającą w środowisku pomostowym, która jest dokładną kopią produkcji. Chciałbym móc wysyłać maile z ActionMailer, aby przetestować, że wszystko działa tak, jak powinno, ale aby zapobiec błędom, bardzo chciałbym móc ograniczyć wysyłanie mailera do adresów, które nie są moja własna domena.Ograniczanie akcji ActionMailer do jednej domeny

Nie wydaje się, że ActionMailer obsługuje to od samego początku, ale czy istnieje wtyczka lub łatka jakiegoś rodzaju, która może to zrobić?

Odpowiedz

2

robie po sukcesem:

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 

Musisz włączyć ten moduł w wszystkie koperty. Działa to w Railsach 2.3.8, nie wiem, czy działa w Railsach 3.

1

Spójrz na klejnot sanitize_email - to dobre rozwiązanie.

Nie pozwala określić domeny, ale pozwala ograniczyć wysyłanie wiadomości e-mail do określonej listy odbiorców, co uniemożliwi wysyłanie wiadomości e-mail do niezamierzonych odbiorców.

0

Sprawdź klej mail_safe. Jest nieco podobny do klejnotu sanitize_email, ale pozwala na dalsze wysyłanie wiadomości e-mail do zwykle umieszczonych na białej liście domen/e-maili. I this blog post (nie moja) obejmuje konfigurację i użycie klejnotów sanitize_email i mail_safe.

Powiązane problemy