Olá @gilcimartec, avaliando o problema e simulando no meu ambiente, será necessário fazer os seguintes ajustes.
No arquivo: config/initializers/setup_mail.rb
Adicionar a linha abaixo após a linha da senha.
openssl_verify_mode: Rails.application.secrets.SMTP_OPENSSL_VERIFY_MODE
Obs.: Lembrar de colocar a vírgula após a linha da senha, ficando conforme abaixo:
password: Rails.application.secrets.SMTP_PASSWORD,
openssl_verify_mode: Rails.application.secrets.SMTP_OPENSSL_VERIFY_MODE
No arquivo: config/secrets.yml
Adicionar a variável
SMTP_OPENSSL_VERIFY_MODE: none
Se não fizer, receberá o erro abaixo:
OpenSSL::SSL::SSLError (hostname “Valor informado na variável SMTP_ADDRESS
” does not match the server certificate)
Dessa forma, você ainda estará usando criptografia, mas a validação do certificado será desabilitada (e você não receberá nenhum erro).
No meu caso, ficou da seguinte forma:
Arquivo: config/initializers/setup_mail.rb
if Rails.env.production? || Rails.env.staging?
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
enable_starttls_auto: true,
address: Rails.application.secrets.SMTP_ADDRESS,
port: Rails.application.secrets.SMTP_PORT,
domain: Rails.application.secrets.SMTP_DOMAIN,
authentication: 'plain',
user_name: Rails.application.secrets.SMTP_USER_NAME,
password: Rails.application.secrets.SMTP_PASSWORD,
openssl_verify_mode: Rails.application.secrets.SMTP_OPENSSL_VERIFY_MODE,
}
ActionMailer::Base.default from: "Notificação i-Diário <#{Rails.application.secrets.NO_REPLY_ADDRESS}>"
end
Arquivo: config/secrets.yml
SMTP_ADDRESS: mail.meudominio.com.br
SMTP_PORT: 587
SMTP_DOMAIN: meudominio.com.br
SMTP_USER_NAME: noreply@meudominio.com.br
SMTP_PASSWORD: minha_senha
SMTP_OPENSSL_VERIFY_MODE: none
NO_REPLY_ADDRESS: noreply@meudominio.com.br
Obs.: A variável NO_REPLY_ADDRESS precisa ser preenchida e a variável SMTP_PASSWORD recomendo utilizar uma senha que não tenha caracteres especiais.
Não sei se é a melhor forma de se fazer nem se é a correta, no entanto, o resultado foi um sucesso para o envio do e-mail.