about summary refs log tree commit diff
path: root/app/mailers
diff options
context:
space:
mode:
Diffstat (limited to 'app/mailers')
-rw-r--r--app/mailers/application_mailer.rb2
-rw-r--r--app/mailers/user_mailer.rb32
2 files changed, 33 insertions, 1 deletions
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
index 2f7dd6ee5..0d9f10a08 100644
--- a/app/mailers/application_mailer.rb
+++ b/app/mailers/application_mailer.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
 class ApplicationMailer < ActionMailer::Base
-  default from: (ENV['SMTP_FROM_ADDRESS'] || 'notifications@localhost')
+  default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' }
   layout 'mailer'
 end
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
new file mode 100644
index 000000000..5c086768d
--- /dev/null
+++ b/app/mailers/user_mailer.rb
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+class UserMailer < Devise::Mailer
+  default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' }
+  layout 'mailer'
+
+  def confirmation_instructions(user, token)
+    @resource = user
+    @token    = token
+
+    I18n.with_locale(@resource.locale || I18n.default_locale) do
+      mail to: @resource.email
+    end
+  end
+
+  def reset_password_instructions(user, token)
+    @resource = user
+    @token    = token
+
+    I18n.with_locale(@resource.locale || I18n.default_locale) do
+      mail to: @resource.email
+    end
+  end
+
+  def password_change(user)
+    @resource = user
+
+    I18n.with_locale(@resource.locale || I18n.default_locale) do
+      mail to: @resource.email
+    end
+  end
+end