mirror of
https://github.com/lunaisnotaboy/mastodon.git
synced 2024-09-12 13:16:55 +00:00
The old implementation sets default From address in mailers. It sets the address from SMTP_FROM_ADDRESS, or notifications@localhost. The behavior is occasionally undesired results. In production environment, notifications@localhost is likely to be incorrect. In testing environment, the email address should not be varied by a environment variable. After appling this change, In production environment, it will throw an exception when launching Mastodon. In testing environment, the address will be fixed with notifications@localhost.
35 lines
1 KiB
Ruby
35 lines
1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class UserMailer < Devise::Mailer
|
|
layout 'mailer'
|
|
|
|
helper :instance
|
|
|
|
def confirmation_instructions(user, token, _opts = {})
|
|
@resource = user
|
|
@token = token
|
|
@instance = Rails.configuration.x.local_domain
|
|
|
|
I18n.with_locale(@resource.locale || I18n.default_locale) do
|
|
mail to: @resource.unconfirmed_email.blank? ? @resource.email : @resource.unconfirmed_email, subject: I18n.t('devise.mailer.confirmation_instructions.subject', instance: @instance)
|
|
end
|
|
end
|
|
|
|
def reset_password_instructions(user, token, _opts = {})
|
|
@resource = user
|
|
@token = token
|
|
|
|
I18n.with_locale(@resource.locale || I18n.default_locale) do
|
|
mail to: @resource.email, subject: I18n.t('devise.mailer.reset_password_instructions.subject')
|
|
end
|
|
end
|
|
|
|
def password_change(user, _opts = {})
|
|
@resource = user
|
|
|
|
I18n.with_locale(@resource.locale || I18n.default_locale) do
|
|
mail to: @resource.email, subject: I18n.t('devise.mailer.password_change.subject')
|
|
end
|
|
end
|
|
end
|