Adição da função de configuração de email e whatts
This commit is contained in:
@@ -1,5 +1,22 @@
|
||||
# app/mailers/application_mailer.rb
|
||||
#
|
||||
# O remetente e as credenciais SMTP saem do BANCO (ConfiguracaoNotificacao), em
|
||||
# tempo de ENVIO — mudar na tela /admin/configuracao_notificacao vale sem
|
||||
# reiniciar o container.
|
||||
#
|
||||
# ⚠️ Tem que ser `proc`, NÃO lambda. O Devise avalia o `default from:` com
|
||||
# `instance_eval(&proc)`, que passa 1 argumento; um lambda de aridade 0
|
||||
# estouraria ArgumentError em todo "esqueci minha senha".
|
||||
#
|
||||
# ⚠️ E tem que ser `delivery_method_options`, NÃO um before_action mexendo em
|
||||
# `message.delivery_method`: o `mail()` roda DEPOIS dos callbacks e chama
|
||||
# `wrap_delivery_behavior!`, que sobrescreveria o callback. O
|
||||
# `delivery_method_options` é lido dentro do próprio `mail()` e MERGEADO por
|
||||
# cima do smtp_settings da classe — é daí que vem, de graça, o fallback para
|
||||
# o que o config/initializers/smtp.rb montou a partir do .env.
|
||||
class ApplicationMailer < ActionMailer::Base
|
||||
default from: ENV.fetch('SMTP_USERNAME', 'noreply@gade.com.br')
|
||||
layout 'mailer'
|
||||
|
||||
default from: proc { ConfiguracaoNotificacao.remetente },
|
||||
delivery_method_options: proc { ConfiguracaoNotificacao.opcoes_de_entrega }
|
||||
end
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# app/mailers/consolidacao_mailer.rb
|
||||
class ConsolidacaoMailer < ApplicationMailer
|
||||
default from: ENV.fetch('SMTP_USERNAME', 'noreply@gade.com.br')
|
||||
# Sem `default from:` aqui de propósito: redeclarar sobrescreveria o proc do
|
||||
# ApplicationMailer e congelaria o remetente no valor que o .env tinha no boot.
|
||||
|
||||
def pagamento_fechado(user, consolidacao, consolidacao_motorista)
|
||||
@user = user
|
||||
|
||||
14
app/mailers/teste_mailer.rb
Normal file
14
app/mailers/teste_mailer.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
# app/mailers/teste_mailer.rb
|
||||
#
|
||||
# E-mail disparado pelo botão "Salvar e enviar e-mail de teste" da tela
|
||||
# /admin/configuracao_notificacao. Serve só para provar que as credenciais SMTP
|
||||
# gravadas funcionam de verdade.
|
||||
class TesteMailer < ApplicationMailer
|
||||
def teste(destinatario, config, usuario = nil)
|
||||
@config = config
|
||||
@usuario = usuario
|
||||
@quando = Time.current
|
||||
|
||||
mail to: destinatario, subject: '[Reem Notas] E-mail de teste'
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user