¿Solo puedes enviar correos electrónicos desde el nombre de usuario especificado en ActionMailer smtp_settings?
-
05-07-2019 - |
Pregunta
en mi archivo de configuración de ActionMailer tengo esto:
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"
}
Con esta configuración, solo puedo enviar un correo electrónico desde la dirección de correo electrónico no-reply@foo.com
? Si es así, ¿hay alguna forma de enviar correos electrónicos desde otras direcciones? Tengo esto en mi clase de 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
En el desarrollo, todo funciona bien, pero en la producción no se envían los correos electrónicos de completed_order
.
Gracias.
Solución
Supongo que esto es más un problema de SMTP que ActionMailer. Algunos SMTP no requieren que el nombre de usuario / las contraseñas envíen el correo saliente y, por lo tanto, puede configurar la dirección De como desee.
Dicho esto, ya que tiene problemas para enviar mensajes que tienen una dirección De diferente a la que usa para autenticarse en su servidor SMTP, supongo que hay una restricción en la casilla SMTP que solo permite mensajes se enviará si la dirección De coincide con el UID de autenticación.