أواجه مشكلة في إرسال رسائل البريد الإلكتروني عبر SMTP بواسطة Discourse.
لقد قمت بالتحقق من اسم المضيف الخاص بي مع مزود خدمة البريد الإلكتروني الخاص بي وأرسلت رسائل بريد إلكتروني بنجاح باستخدام Telnet وعبر sendmail من خلال الجهاز الظاهري المضيف وكذلك عبر Telnet داخل حاوية Docker الخاصة بـ Discourse.
لقد نظرت في دمج ‘sendmail’ داخل حاوية Docker وتلقيت خطأ “لم يتمكن من حل اسم المضيف” عند إرسال البريد الإلكتروني مباشرة من سطر الأوامر.
بالنسبة لي، هذا يعني أنه لا توجد مشاكل في الاتصال بين الجهاز الظاهري ومزود خدمة SMTP.
لقد جربت جميع منافذ SMTP المعتادة وأعتقد أن التكوين في ملف app.yml صحيح. الجهاز الظاهري هو Linux 20.04، وتم استخدام 24.04 و 22.04 في الاختبارات أيضًا.
تحقق من حدود مزود خدمة البريد الإلكتروني الخاص بك. في بعض الأحيان يفشل الإرسال عند الوصول إلى الحصة المحددة. حاول إرسال بريد إلكتروني من Outlook. لقد حدث لي ذلك مرة واحدة. قد تكون مشكلتك مختلفة، ولكنها قد تكون مفيدة لشخص ما.
شكراً على الردود. لقد ألقيت نظرة خلال عطلة نهاية الأسبوع. لقد أنشأت جهازًا افتراضيًا على Digital Ocean وقمت بإعداد SMTP مع Brevo. كل شيء كان على ما يرام.
لذلك لا يوجد خطأ في Discourse.
أعتقد أن Discourse يستخدم Ruby GEM مثل NET::smtp لإرسال البريد وأن خادم SMTP غير مثبت افتراضيًا داخل الحاوية. المشكلة التي نواجهها موجودة في مستأجر Azure.
يبدو لي أن الطلب إلى خدمة SMTP الخارجية، أي أنه يتم حظره في مكان ما. بواسطة نوع من آلية مكافحة البريد العشوائي الموجودة فوق المستأجر.
لدي بضعة اختبارات أخرى لإجرائها لتضييق نطاق هذا الأمر.
ستكون أي معلومات حول كيفية قيام Discourse بإرسال البريد الإلكتروني رائعة أنا جديد نسبيًا على Ruby on the Rails.