# app/mailers/user_mailer.rb
class UserMailer < ApplicationMailer
  def self.load_credentials
    begin
      {
        mailer: ConfigHelper.mailer_credentials,
        app: ConfigHelper.app_credentials
      }
    rescue => e
      Rails.logger.warn "Failed to load from Env: #{e.message}. Using Rails credentials."
      {
        mailer: Rails.application.credentials.mailer,
        app: Rails.application.credentials.app
      }
    end
  end

  creds = load_credentials
  default from: creds[:mailer]['from_address'] || creds[:mailer][:from_address]

  def otp_email(user, otp)
    @user = user
    @otp = otp
    creds = self.class.load_credentials

    mail(
      to: @user.email,
      subject: "Your OTP for #{creds[:app]['name'] || creds[:app][:name]}",
      track_opens: 'true'
    )
  end
end 