Sha256: b2bec7bfdff7b4c77f4da24c805c6cdabb54019184cf2f951a0062b9bcca615a

Contents?: true

Size: 993 Bytes

Versions: 11

Compression:

Stored size: 993 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # Main application mailer configuration. Inherit from this to create new
  # mailers.
  class ApplicationMailer < ActionMailer::Base
    include LocalisedMailer
    include MultitenantAssetHost
    after_action :set_smtp

    default from: Decidim.config.mailer_sender
    layout "decidim/mailer"

    private

    def set_smtp
      return if @organization.nil? || @organization.smtp_settings.blank?

      mail.from = @organization.smtp_settings["from"].presence || mail.from
      mail.reply_to = mail.from || Decidim.config.mailer_reply
      mail.delivery_method.settings.merge!(
        address: @organization.smtp_settings["address"],
        port: @organization.smtp_settings["port"],
        user_name: @organization.smtp_settings["user_name"],
        password: Decidim::AttributeEncryptor.decrypt(@organization.smtp_settings["encrypted_password"])
      ) { |_k, o, v| v.presence || o }.reject! { |_k, v| v.blank? }
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
decidim-core-0.24.3 app/mailers/decidim/application_mailer.rb
decidim-core-0.23.6 app/mailers/decidim/application_mailer.rb
decidim-core-0.24.2 app/mailers/decidim/application_mailer.rb
decidim-core-0.23.5 app/mailers/decidim/application_mailer.rb
decidim-core-0.24.1 app/mailers/decidim/application_mailer.rb
decidim-core-0.24.0 app/mailers/decidim/application_mailer.rb
decidim-core-0.24.0.rc2 app/mailers/decidim/application_mailer.rb
decidim-core-0.23.4 app/mailers/decidim/application_mailer.rb
decidim-core-0.24.0.rc1 app/mailers/decidim/application_mailer.rb
decidim-core-0.23.3 app/mailers/decidim/application_mailer.rb
decidim-core-0.23.2 app/mailers/decidim/application_mailer.rb