você só pode enviar e-mail a partir do nome de usuário especificado nas smtp_settings ActionMailer?
-
05-07-2019 - |
Pergunta
no meu arquivo de configuração ActionMailer eu tenho este:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "mail.foo.com",
:port => 25,
:domain => "foo.com",
:authentication => :email,
:user_name => "no-reply@foo.com",
:password => "foo1234567"
}
Com esta configuração só posso enviar e-mail a partir do endereço de e-mail no-reply@foo.com
? Se assim for, há uma maneira para enviar e-mails de outros endereços? Eu tenho isso na minha classe ActionMailer:
class Notifications < ActionMailer::Base
def answered_question(faq)
subject 'Your question has been answered'
recipients faq.email
from 'Foo <no-reply@foo.com>'
sent_on Time.now
content_type "text/html"
body :faq => faq
end
def completed_order(order)
subject 'Your order has been completed'
recipients order.email
from 'Foo <registrations@foo.com>'
sent_on Time.now
content_type "text/html"
body :order => order
end
end
No desenvolvimento tudo funciona bem, mas na produção de e-mails completed_order
não estão sendo enviados.
Graças.
Solução
Eu acho que esta é mais uma questão de SMTP que é ActionMailer. Alguns de SMTP não exigem Nome de usuário / senhas para enviar correio de saída e assim você pode definir o endereço De como você gosta.
Dito isso, desde que você está enfrentando problemas de envio de mensagens que têm um endereço De diferente do que você está usando para autenticar para o servidor SMTP, eu acho que há uma restrição na caixa de SMTP que só permite que as mensagens ser enviada se o endereço corresponde ao UID de autenticação.