مزود SMTP المُوصى به

لقد نجحت الأمور، ولكن ليس بالطريقة التي أردتها في البداية، ولكن ربما هناك شيء واحد قرأته بشكل خاطئ. قصة قصيرة، عمل Mailjet في المحاولة الأولى (Mailjet). شكراً للمساعدة و/أو منتدى جيد به حلول.

ملخص

النسخة الطويلة

كيف حاولت جعل الأمر يعمل (لأرى كيف يحل شخص ما لديه القليل من ذاكرة لينكس يحل هذه الأمور). لذا تم تضمين جميع الخطوات المملة أيضاً… مما أدى إلى بعض تلميحات المطورين وخطأ محتمل.

أخذت لقطة شاشة من Digital Ocean (كان لدي بعض التجارب السيئة مع ترقيات Discourse من قبل :smiley: → الترقية إلى أحدث إصدار سارت بسلاسة هذه المرة بما أن لدي الآن 50 جيجابايت بدلاً من 30 جيجابايت، تحية طيبة على أي حال)

بما أن lfchosting أصبحت hostpapa الخريف الماضي، قررت استخدام hostpapa بما أنني أدفع مقابلها في النهاية.

قصة صغيرة غير ذات صلة حول انتقال lfchosting إلى hostpapa. أحد مواقع الإحصائيات الخاصة بي التي تتلقى حركة مرور من الخارج توقفت عن العمل. كان الدعم غافلاً لمدة 3 أشهر. ثم قال أحدهم إنهم سيقومون بتعطيل بعض قواعد جدار الحماية المحتملة - → لم تنجح تلك الإصلاحات… ولكن ذلك أعطاني فكرة → لقد قاموا بتثبيت ModSecurity بعد الترحيل وبمجرد أن تخلصت من هذا الهراء، تدفقت كل حركة المرور الخاصة بي بشكل جيد مرة أخرى. أقول فقط، تقوم بترحيل العملاء القدامى، وتستخدم جدار حماية جديد/أي شيء آخر، ويواجه العميل مشاكل في حركة المرور… ولا يوجد لدى أي شخص في الدعم أي نشاط لمبة؟ يا إلهي.

حاولت استخدام Outlook للتحقق من أن بيانات الاعتماد صحيحة ولكن لم أتمكن من جعلها تعمل - هذا لا يعني الكثير على أي حال. في الواقع، حاولت استخدام Pegasus Mail أولاً ولكن هذا يعني أقل هذه الأيام - سجلات أفضل قراءة على أي حال :D.

telnet mail.papamail.net 465 على الأقل رد بشيء (لا تتصل بي أيها الأحمق هنا)

أفرك رأسي، 465 يشير إلى TLS/SSL وليس starttls… gnnngh.

آه، سأختبر فقط عن طريق تغيير app.yml وقراءة السجلات…

=> تحرير app.yml => معضلة كلمة مرور smtp
علامات اقتباس مزدوجة حولها أم لا؟ كان لدي علامات اقتباس مزدوجة في البريد الإلكتروني السابق العامل مقابل gmail، ولكن يبدو أنه يجب أن يكون بدون علامات اقتباس في العديد من المشاركات. هممم، هل discourse ذكي بما يكفي لإزالة علامات الاقتباس غير الضرورية؟ شخص ما لديه بالفعل “password” ككلمة مرور سيكون غير مرجح إلى حد ما :D.
بدأت أتساءل عما إذا كان gmail يزيل علامات الاقتباس المزدوجة من كلمة مرور افتراضياً وهذا هو السبب في أنها عملت مع gmail سابقاً؟

بعد إعادة بناء التطبيق، لا يعمل إرسال البريد التجريبي. لماذا على وجه الأرض لا يمكن عرض سجل ذلك مباشرة على صفحة الاختبار أمر يتجاوز فهمي (تلميح، تلميح :slight_smile: ، حسناً، ربما خطر أمني؟).

المزيد من shared/standalone/log/rails/production.log
لم يظهر الكثير أو الكثير من القمامة للعثور على ما أحتاجه (انظر تلميح، تلميح أعلاه).

./discourse-doctor

ليس له فائدة كبيرة.

./discourse-setup

يستغرق وقتاً طويلاً (يشبه إلى حد ما إعادة بناء التطبيق بالمشغل)، أتساءل ما هي أسرع طريقة لتغيير app.yml واختبار البريد الصادر؟

خطأ discourse-setup؟: وجود كلمة مرور مثل gjwha9T78&vv أنتج هذا السطر المعطل في app.yml (!):

DISCOURSE_SMTP_PASSWORD: "gjwha9T78 DISCOURSE_SMTP_PASSWORD: gjwha9T78&vv"

يبدو أن علامات الاقتباس المزدوجة مطلوبة في النهاية. ولكن discourse-setup يكتب “قمامة” في app.yml إذا كانت كلمة المرور تحتوي على “&” أمر سيء بعض الشيء.

أثناء انتظار إعادة بناء التطبيق للمرة الألف… إعداد mailjet فقط في حالة…

إعادة بناء أخرى باستخدام mailjet وإرسال البريد يعمل مباشرة.

الخلاصة بعد ساعتين = mailjet يعمل. ووهو… ولكن…

يجب أن تكون هناك طريقة أسرع لاختبار إرسال البريد من discourse من تعديل app.yml + إعادة البناء؟

بما أنني أفترض أنني فعلت الكثير من الأشياء بالطريقة الطويلة والشاقة، فأنا متأكد من أن شخصاً ما سيشير إلى طرق أفضل. خاصة وأن المساعدة هنا دائماً استباقية، وليست بأسلوب “أيها المبتدئ الغبي” :D.

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

أفضل المراجع المستخدمة في حل هذه المشكلة:

مفيد (حسناً، فهم مشكلة المنافذ 25/465/587):
Troubleshoot email on a new Discourse install

مفيد أيضاً بمجرد أن تكون مستعداً لتجربة أي مزود بريد آخر:
https://github.com/discourse/discourse/blob/main/docs/INSTALL-email.md

إعجابَين (2)