Att skicka ett e-postmeddelande från en applikation genom en utvecklings- eller iscensättningsmiljö kan vara besvärligt, särskilt när du vill förhandsgranska e-postmeddelandet innan du trycker på skicka-knappen. Med pärlan 'mail_view' kan du enkelt förhandsgranska e-postmeddelanden direkt från din utvecklingsmiljö. Att förhandsgranska e-post är viktigt för att säkerställa att du skickar rätt e-post och till rätt person.
Skicka aldrig ett mail i mörker längre med 'mail_view pärla! Läs mer nedan om hur det kan implementeras i din applikation under utvecklingsstadiet.
Rails Email Preview hjälper oss att snabbt se e-postmeddelandet i webbläsaren i utvecklingsläge.
1. Lägg till "gem 'rails_email_preview', '~> 0.2.29' " till gem-filen och paketinstallationen.
2. Kör “rails g rails_email_preview:install” detta skapar initialiserare i config-mappen och lägg till rutter.
3. Kör "rails g rails_email_preview:update_previews" denna boxar mailer_previews-mappen i appkatalogen.
Generator lägger till en stubb till vart och ett av dina e-postmeddelanden, sedan fyller du på stubben med skendata.
Ex:
klass UserMailerPreview
def inbjudan
UserMailer.invitation mock_user('Alice'), mock_user('Bob')
slutetdef välkommen
UserMailer.välkommen mock_user
slutetprivat
def mock_user(namn = 'Bill Gates')
fake_id User.new(namn: namn, e-post: “user#{rand 100}@test.com”)
slutetdef fake_id(obj)
obj.define_singleton_method(:id) { 123 + rand(100) }
obj
slutet
slutet
4. Parametrar i sökfrågan kommer att vara tillgängliga som en instansvariabel för att förhandsgranska klassen.
Ex: om vi har en webbadress som "/emails/user_mailer_preview-welcome?user_id=1"
@user_id definieras i välkomstmetoden UserMailerPreview det hjälper oss att skicka e-post till en viss användare.
klass UserMailerPreview
def välkommen
användare = @användar-id ? User.find(@user_id) : mock_user
UserMailer.welcome(användare)
slutet
slutet
5. För att komma åt REP-url:s så här
rails_email_preview.rep_root_url
rails_email_preview.rep_emails_url
rails_email_preview.rep_email_url('user_mailer-welcome')
6. Vi kan skicka e-postmeddelanden via REP, detta kommer att använda miljömailerinställningar. Avkommentera den här raden i initialiseraren för att inaktivera sändning av e-post i testmiljön.
config.enable_send_email = false
Referenser:
1. https://github.com/glebm/rails_email_preview
2. https://richonrails.com/articles/action-mailer-previews-in-ruby-on-rails-4-1
Vill du utveckla din app? RailsCarma kan hjälpa! Kolla in vår portfölj för att förstå hur vi hjälper till att förändra formen på mjukvaruindustrin genom att tillhandahålla Ruby on Rails utvecklare. Kontakta oss nu!