يمكنك فقط إرسال البريد الإلكتروني من خارج اسم المستخدم المحدد في smtp_settings ActionMailer؟
-
05-07-2019 - |
سؤال
في ملفي ActionMailer التكوين لدي هذا:
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"
}
مع هذا التكوين أن أبعث فقط من البريد الإلكتروني من عنوان البريد الإلكتروني no-reply@foo.com
؟ إذا كان الأمر كذلك هل هناك طريقة لإرسال رسائل البريد الإلكتروني من عناوين أخرى؟ لدي هذا في صفي 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
في تطوير كل شيء يعمل بها ما يرام ولكن في الإنتاج لم يتم إرسال رسائل البريد الإلكتروني completed_order
بها.
وشكرا.
المحلول
واعتقد ان أن هذا هو أكثر من قضية SMTP أنه ActionMailer. بعض من SMTP لا تتطلب اسم المستخدم / كلمات السر لإرسال البريد الصادر وحتى تتمكن من تعيين من عنوان كما تريد.
وقال ذلك، منذ كنت تواجه مشكلات بإرسال الرسائل التي لها من عنوان مختلف عن ما كنت تستخدم لمصادقة خادم SMTP، كنت اعتقد هناك قيود على مربع SMTP الذي يسمح الرسائل فقط ل يتم إرسالها إذا كان من عنوان يطابق UID مصادقة.