مشكلة في إرسال البريد عبر Namecheap Private Email (SMTP) على Discourse المستضاف ذاتيًا

مرحباً بالجميع،

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

الإعداد

  • الاستضافة: قطرة DigitalOcean، تم تثبيت Discourse عبر طريقة Docker الرسمية (/var/discourse).

  • النطاق: مُدار عبر Cloudflare (سجلات A مُرحّلة للموقع، سجلات DNS فقط لسجلات MX/البريد).

  • مزود البريد: Namecheap Private Email.

  • إصدار Discourse: أحدث فرع تم اختباره.

ما يعمل

  • يمكنني استقبال البريد الإلكتروني على صندوق الوارد الخاص بي hello@domain.com دون مشاكل.

  • تم تعيين سجلات DNS MX و SPF و DKIM و DMARC والتحقق منها.

  • البريد الوارد عبر Gmail → hello@domain.com يعمل.

ما يفشل

  • البريد الصادر (رسائل التفعيل، رسائل الاختبار من Discourse) لا يصل أبدًا.

  • أكد دعم Namecheap أن بيانات الاعتماد والإعدادات الخاصة بي صحيحة، لكنهم لم يتمكنوا من تفسير سبب فشلها من الخادم.

تكوين app.yml الحالي

DISCOURSE_SMTP_ADDRESS: mail dot privateemail dot com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello at domain dot com
DISCOURSE_SMTP_PASSWORD: “PASSWORD”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain dot com
DISCOURSE_NOTIFICATION_EMAIL: hello at domain dot com DISCOURSE_SMTP_AUTHENTICATION: login

لقد جربت أيضًا المنفذ 465 مع:

DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_SSL: true

خطوات التصحيح التي تم اتخاذها

  • تم التحقق من صحة سجلات DNS في Cloudflare (MX، SPF، DKIM، DMARC).

  • تم التأكد من أن المنافذ 587 و 465 غير محظورة محليًا بواسطة UFW/iptables.

  • تمت محاولة فرض تفضيل IPv4 في /etc/gai.conf.

  • تم الاختبار باستخدام nc و openssl → لا يزال هناك مهلة.

  • حتى تعليمات Namecheap الخاصة (587 STARTTLS أو 465 SSL) تؤدي إلى فشل من الخادم.

سؤال

هل قام أي شخص بتكوين Namecheap Private Email بنجاح مع Discourse SMTP؟

  • هل هناك مشكلة معروفة مع قطرات DigitalOcean التي تصل إلى mail.privateemail.com على 587/465؟

  • هل يجب أن أتخلى عن Namecheap SMTP وأستخدم خدمة بريد معاملات (Postmark، Mailgun، SendGrid) بدلاً من ذلك؟

  • هل هناك علامة app.yml خاصة مطلوبة لهذا المزود؟

شكراً مقدماً لأي توجيه. لقد وصلت إلى طريق مسدود مع هذا الإعداد.

يجب عليك استخدام خدمة بريد للمعاملات مثل Mailgun أو Brevo أو Amazon SES. هذه هي الطريقة المثلى لإرسال رسائل البريد الإلكتروني من منتدى الخاص بك.

راجع discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub

قد ترغب أيضًا في التحقق من:

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

ما هي رسالة الفشل؟

هل تقوم DigitalOcean بحظر البريد الصادر كما أفاد العديد من الآخرين؟

هل جربت المنفذ 2525؟

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

شكراً لكم جميعاً على الردود، أقدر ذلك كثيراً.

@pfaffman لست على علم بأن Digital Ocean يقوم بحظر البريد الصادر. لا، لم أجرب 2525.

بعد البحث عنه، عثرت على مقال يفيد بأنهم يحظرون جميع رسائل البريد الصادر Why is SMTP blocked? | DigitalOcean Documentation

لقد أجريت اختباراً بسيطاً باستخدام:

nc -vz ``smtp.mailgun.org`` 2525 واجتاز الاختبار. فشل 587 و 465.

لقد فتحت تذكرة بطلب فتح هذه المنافذ.

إذا لم يقوموا بفتحها، فسأحتاج إلى البحث في mailgun، آمل أن يكون هذا مجانياً.

إذا اتصلت بدعمهم لتفعيل الحساب، بعد التغيير إلى إعداد نوع الخطة، يجب أن تكون بخير في خطة مجانية

لطالما اعتقدت أن هذا مشابه جدًا لبريد BT أو Gmail، وغير مناسب لـ Discourse.
يمكنك استخدام استطلاع POP3 لاستقبال البريد، ولكن نظرًا لأن لديك VPS x86، أوصي بـ mail-receiver

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

ردت Digital Ocean على بريدهم الإلكتروني:

"يسعدنا استكشاف إمكانية قيام فريق الأمن لدينا بإلقاء نظرة فاحصة على فتح منافذ SMTP لك. لمساعدتنا في فهم احتياجاتك بشكل أفضل والمضي قدمًا في طلبك، هل يمكنك مشاركة التفاصيل التالية حول متطلبات عملك:

  • ما نوع رسائل البريد الإلكتروني التي سترسلها (مثل رسائل المعاملات، النشرات الإخبارية، إلخ)؟

  • هل تخطط لاستضافة بريدك الإلكتروني الخاص أو استخدام خدمة إرسال تابعة لجهة خارجية؟

  • إذا أمكن، يرجى تقديم سياق حول متطلبات المنفذ الخاصة بك وما إذا كان لا يمكن استخدام منافذ غير قياسية أو واجهة برمجة تطبيقات (API).

بمجرد تلقي ردك، سنقوم بإحالة طلبك إلى الفريق مع جميع التفاصيل المقدمة."

في هذه الحالة، يجب عليك التبديل إلى استخدام خدمة بريد معاملات مثل Mailgun (100 بريد إلكتروني مجاني يوميًا) أو Brevo (300 بريد إلكتروني مجاني يوميًا). بعد ذلك، يمكنك التبديل إلى استخدام المنفذ 2525 في ملف app.yml الخاص بك، حيث إنه غير محظور.

إعجابَين (2)

تحياتنا من دعم DigitalOcean!

نتفهم أن لديك متطلب تطبيق أو حاجة عمل لتمكين المنافذ 25 و 465 و 587. ومع ذلك، بسبب سياستنا الحالية، لا يمكننا تلبية الطلبات لإزالة القيود المفروضة على هذه المنافذ.

نوصي باستخدام منافذ بديلة إذا سمح تطبيقك بذلك، مثل المنفذ 2525. يمكنك أيضًا استخدام واجهة برمجة تطبيقات REST مع SendGrid، والتي تتيح لك إرسال رسائل البريد الإلكتروني عبر طلبات HTTP بدلاً من بروتوكول SMTP التقليدي إذا كان ذلك مناسبًا لك أو الاستفادة من خدمة إرسال تابعة لجهة خارجية أخرى.

لا تتردد في التواصل معنا إذا كانت لديك أي استفسارات إضافية. نحن هنا دائمًا من أجلك!

لذا سأجرب Mailgun

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

ربما تابع وقل إنك لا تحتاج إلى 25؟

@Ethsim2 شكراً أعتقد أن الأمر واضح، مثل Linode، لقد أغلقوا كل شيء لمكافحة البريد العشوائي، سيقوم Linode فقط بفتح المنافذ عند الطلب ولكن لا بأس بذلك.

سأختار MailGun.

إعجابَين (2)

لم أختبر قط في حياتي أن يتم حظر حسابي الجديد تمامًا هههه
“Mailgun: تم تعطيل حسابك مؤقتًا.”

هل هناك خدمة SMTP بديلة يمكنني استخدامها؟

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