5

Ich habe gerade Mailboxer (gem 'mailboxer') in meiner Rails 3.1.1 App installiert ... Ich habe die E-Mail-Benachrichtigungen funktioniert.Wie kann ich den Mailbox Betreff anpassen?

Ich folgte these Anweisungen zum Anpassen der Benachrichtigungs-E-Mail, die Benutzer erhalten, wenn sie eine neue Nachricht über die Mailbox-Engine auf meiner App gesendet werden ... Dies ermöglicht es mir, den Inhalt der E-Mail-Nachricht zu bearbeiten, aber ich möchte ändern der "Betreff" in der E-Mail-Kopfzeile von der Standardnachricht "Mailboxer new message:" an einen benutzerdefinierten Betreff.

Ich nehme an, dass es eine Zeile geben kann, die ich der mailboxer.rb Konfigurationsdatei hinzufügen kann?!?!?

Kann mir jemand helfen?

Antwort

5

Also, ich habe das Offensichtliche auf diesem einen völlig vermisst ... Sie müssen nur einen benutzerdefinierten Mailer hinzufügen, dann haben Sie die volle Kontrolle.

folgendes zur mailboxer.rb Konfigurationsdatei hinzufügen:

Mailboxer.setup do |config| 
    config.notification_mailer = CustomNotificationMailer 
    config.message_mailer = CustomMessageMailer 
... 
end 

Wie klar im Wiki erwähnt, here.

+2

ich dies im Wiki sah, aber ich mag es nicht, eine völlig neue Klasse zu kreieren, nur um das Thema zu wechseln. – Jeff

+0

Ja, ich dachte, es wäre eine einfachere variable Einstellung oder etwas ... Es ist nicht so schwierig, wenn Sie die Mailer-Ansichten kopieren, tun Sie dies zuerst: 'Schienen g Postfächer: Ansichten', dann können Sie die Ansichten, die generiert in Ihre Mailer –

9

nur Ihre en.yml Datei ändern und Ihre eigenen Themen gesetzt:

mailboxer.message_mailer.subject_new 
mailboxer.message_mailer.subject_reply 

das "Subjekt" var enthält die mailboxer-Nachricht Thema. Ex:

en: 
    mailboxer: 
    message_mailer: 
     subject_new: 'Hey, you receive a new message about %{subject}' 
     subject_reply: 'Hey, you receive a new reply about %{subject}' 

PS: jedes Mal, wenn das Ergebnis am Konsole mit testen:

I18n.translate("mailboxer.message_mailer.subject_new", :subject => "hello") 

* nur dem "Hallo" für Ihr eigentliches Thema ändern

+1

Dies sollte als die richtige Antwort markiert werden. –