IT

Devise Standardemails bearbeiten.

Die automatisch von Devise verschickten Emails sind nicht besonders schön. Dies lässt sich jedoch relativ leicht ändern. Dafür müssen wir uns um drei Dinge kümmern.

1. Rails muss in der Developmentumgebung Emails versenden können. Am besten eignet sich dazu das in Ruby geschriebene Programm mailcatcher Installieren:

gem install mailcatcher

den Browser öffnen bei http://127.0.0.1:1080/ und in der Railsanwendung bei:

(Railsanwendung)/config/environments/development.rb

config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 }
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

einfügen.

2. Die Vorlagen von Devise in die Railsapp laden. Auch die Emailvorlagen werden über die Views verwaltet.

rails generate devise:views

Die Emailvorlagen befinden sich jetzt in

(Railsanwendung)/app/views/devise/mailer

Diese können jetzt entsprechend bearbeitet werden.

3. Testsenden der Emails Für diesen Schritt muss die Railsapp nicht laufen. Auf der Commandline, im Ordner der Railsanwendung die Railsconsole öffnen

rails c

Einen beliebigen schon vorhanden User nutzen oder einen neuen User mit Emailadresse anlegen.

usr = User.last

Jetzt können 3 der 4 Emails ausgelöst und gesendet werden

usr.send_confirmation_instructions
usr.send_password_change_notification
usr.send_reset_password_instructions

Für die 4te Email müssen wir vorher die Emailadresse des Nutzers ändern.

usr.email="new@example.com"
usr.save

usr.send_email_changed_notification

Die Email wird jetzt an die vorhergehende Emailadresse von usr geschickt. Wie so oft in der Programmierung ist dies nur ein erster Schritt um mit Devise gute und schöne Emails zu versenden. Generell Emails zu designen ist eine Kunst und ich persönlich nutze Litmus um meine Emaildesigns auf vielen unterschiedlichen Emailprogrammen zu testen.

Aber auch bei Devise gibt es noch einige Einstellmöglichkeiten, die ich später noch behandeln möchte. Das Versenden von Emails mit HTML und Text Inhalten. Änderung der Absenderemailadressen oder eine personalisierte Übersetzung.

Bis dahin

Euer Kowo

Tagged ,