آخر إصدار من Discourse لا يرسل البريد الإلكتروني

أواجه مشكلة في إرسال رسائل البريد الإلكتروني عبر SMTP بواسطة Discourse.

لقد قمت بالتحقق من اسم المضيف الخاص بي مع مزود خدمة البريد الإلكتروني الخاص بي وأرسلت رسائل بريد إلكتروني بنجاح باستخدام Telnet وعبر sendmail من خلال الجهاز الظاهري المضيف وكذلك عبر Telnet داخل حاوية Docker الخاصة بـ Discourse.

لقد نظرت في دمج ‘sendmail’ داخل حاوية Docker وتلقيت خطأ “لم يتمكن من حل اسم المضيف” عند إرسال البريد الإلكتروني مباشرة من سطر الأوامر.

بالنسبة لي، هذا يعني أنه لا توجد مشاكل في الاتصال بين الجهاز الظاهري ومزود خدمة SMTP.

لقد جربت جميع منافذ SMTP المعتادة وأعتقد أن التكوين في ملف app.yml صحيح. الجهاز الظاهري هو Linux 20.04، وتم استخدام 24.04 و 22.04 في الاختبارات أيضًا.

يتم التشفير باستخدام شهادة Let’s Encrypt.

  DISCOURSE_SMTP_ADDRESS: <smtp_provider>
  DISCOURSE_SMTP_PORT:  <port>
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_USER_NAME: apikey
  DISCOURSE_SMTP_PASSWORD: "<secret>"
  DISCOURSE_SMTP_ENABLE_START_TLS: true

كلما أرسلت عبر نموذج Discourse، أستمر في تلقي رسالة “انتهت صلاحية التنفيذ”.

إعجاب واحد (1)

تحقق من حدود مزود خدمة البريد الإلكتروني الخاص بك. في بعض الأحيان يفشل الإرسال عند الوصول إلى الحصة المحددة. حاول إرسال بريد إلكتروني من Outlook. لقد حدث لي ذلك مرة واحدة. قد تكون مشكلتك مختلفة، ولكنها قد تكون مفيدة لشخص ما.

إعجاب واحد (1)

إذا كنت تحصل على “لم يتمكن من حل اسم المضيف”، فيبدو أن اسم المضيف لا يمكن حله، وهذه مشكلة.

هل يعمل rake emails:test[you@somewhere.com]؟ راجع أيضًا استكشاف أخطاء البريد الإلكتروني وإصلاحها في تثبيت Discourse جديد

إعجابَين (2)

شكراً على الردود. لقد ألقيت نظرة خلال عطلة نهاية الأسبوع. لقد أنشأت جهازًا افتراضيًا على Digital Ocean وقمت بإعداد SMTP مع Brevo. كل شيء كان على ما يرام. :slight_smile:

لذلك لا يوجد خطأ في Discourse.

أعتقد أن Discourse يستخدم Ruby GEM مثل NET::smtp لإرسال البريد وأن خادم SMTP غير مثبت افتراضيًا داخل الحاوية. المشكلة التي نواجهها موجودة في مستأجر Azure.

يبدو لي أن الطلب إلى خدمة SMTP الخارجية، أي أنه يتم حظره في مكان ما. بواسطة نوع من آلية مكافحة البريد العشوائي الموجودة فوق المستأجر.

لدي بضعة اختبارات أخرى لإجرائها لتضييق نطاق هذا الأمر.

ستكون أي معلومات حول كيفية قيام Discourse بإرسال البريد الإلكتروني رائعة :slight_smile: أنا جديد نسبيًا على Ruby on the Rails.

إعجاب واحد (1)

ولكنك قمت بتكوين SMTP بنفس الطريقة التي قمت بها على مثيل Digital Ocean؟

ماذا يحدث عند تشغيل مهمة rake؟

نفس الشيء: لا يوجد اتصال.

أنا أستخدم خوادم ترحيل SMTP مختلفة في كل مرة.

هناك عدد قليل من الاختبارات التي أقوم بتشغيلها للتحقق:

  • تثبيت discourse عبر docker-compose محليًا
  • تثبيت Discourse في مستأجر Azure مختلف تحت اشتراك مختلف
  • التحقق من خوادم ترحيل SMTP الخاصة بـ Brevo و SendGrid

سأقوم بتحديث المنشور بعد هذه الاختبارات…

عدم وجود اتصال هو عدم وجود اتصال. من الواضح أن مزود الخدمة الخاص بك يمنعك.

ربما تجرب المنفذ 2525؟ أو اسأل عما إذا كان مزود الخدمة الخاص بك (مثل DigitalOcean) يحظر المنفذ الذي تريده.

@pfaffman شكراً لك على إتاحة بعض الوقت لهذا. كما اتضح، كانت المشكلة متعلقة بنظام أسماء النطاقات (DNS).

كل شيء يعمل الآن بشكل صحيح :grinning:

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.