Können Sie sich nur in der Action smtp_settings angegebenen E-Mail aus dem Benutzername senden?
-
05-07-2019 - |
Frage
in meiner Action config-Datei Ich habe diese:
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"
}
Mit dieser Konfiguration kann ich auszusenden nur E-Mails von der no-reply@foo.com
E-Mail-Adresse? Wenn dies der Fall ist es eine Möglichkeit, E-Mails zu senden, von anderen Adressen? Ich habe dies in meiner Action Klasse:
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
In der Entwicklung alles klappt gut, aber die completed_order
E-Mails in der Produktion werden nicht gesendet werden.
Danke.
Lösung
Ich würde vermuten, dass dies eher ein SMTP-Problem ist, dass es Action ist. Einige SMTP die erfordern keine Benutzername / Passwörter ausgehende Mail senden und so können Sie die Absender-Adresse einstellen, wie Sie möchten.
Das heißt, da Sie Probleme bei Ihnen auftritt Versenden von Nachrichten, die eine Von-Adresse unterscheidet sich von dem, was Sie verwenden, um den SMTP-Server zu authentifizieren, ich würde vermuten, eine Beschränkung des SMTP-Box gibt es, die Nachrichten können nur gesendet werden, wenn die Absenderadresse der authentifizierten UID entspricht.