حسنًا، أنا أستخدم Mailjet لبروتوكول SMTP وأواجه مشكلة في التحقق. أولاً، لا يمكنني التحقق بسهولة من عنوان البريد الإلكتروني الفردي noreply@discourse.example.com.
أفضل التحقق من النطاق discourse.example.com بدلاً من ذلك، لكنني أواجه هنا مشكلتين. يمكنني فعل ذلك عبر ملف نصي باسم خاص، لكن يبدو أن Discourse لا يسمح بذلك (رغم أنني في هذه المرحلة أtempt لإعداد ملف إعدادات nginx ليعيد شيئًا ما لتلك الرابط). حسنًا، ربما ملف TXT في DNS؟ وهنا أواجه مشكلة لأنني أدير DNS للنطاق example.com، وهو يحاول مني إدخال سجل لـ mailjet.discourse.example.com تقريبًا، وهو نطاق فرعي، وأنا غير واضح حول كيفية إدخاله. أنا أستخدم Bind 9.3 تقريبًا على Ubuntu 16.04، وبعض التوجيهات ستكون مفيدة! يمكنني العثور على معلومات حول كيفية إضافة سجل TXT لـ discourse.example.com، لكن Mailjet يقول: لا، يجب أن يكون mailjet_xxxxx.discourse.example.com، أي نطاق فرعي، وهو ما أعتقد أنه يعني مناطق إضافية. أنا لست ساحر DNS، لكنني خبير في تثبيت الأشياء المعقدة.
لكن في الوقت الحالي، أنا مشتت تمامًا بسبب تجربة كل أنواع الحلول، لذا… مساعدة؟ أعني، أفضل الأخبار الممكنة هي أن يقول شخص ما: بالطبع يمكنك وضع ملف نصي في المجلد الجذري لـ Discourse هكذا…
حسناً، لقد نجحت للتو في جعل طريقة التحقق عبر ملف TXT تعمل، حتى مع “القيود” المفروضة من قبل Discourse. لذا، إذا كنت تفضل ذلك لتجنب التعديل على إعدادات DNS (والتي، أووووه… بالنسبة لي أكثر رعباً من التعديل على خادم الويب، رغم أن تجربتك قد تختلف بالطبع).
ستحتاج إلى القدرة على تعديل ملف إعدادات nginx الخاص بتثبيت Discourse لديك. الموقع الدقيق لهذا الملف يعتمد على مكان (وبأي طريقة) قمت بتثبيت Discourse. في حالتي، قمت بتثبيت مباشر على الجهاز (baremetal) دون استخدام Docker. يمكنني العثور عليه في المسار /etc/nginx/conf.d/discourse.conf – وقد يختلف الأمر في تجربتك.
في هذا الملف، ستجد كتلة location كالتالي:
location / {
....
}
حيث توجد عدة توجيهات location متداخلة داخلياً.
قم بإنشاء كتلة location جديدة، متداخلة هنا أيضاً (ولكن لا تتداخل داخل أي كتلة location أخرى!)
location /stupidfilename.txt {
alias /var/www/stupidfilename.txt;
}
حيث أن stupidfilename.txt هو اسم الملف الخاص الذي يطلبون منك إضافته، والمسار (/var/www) هو مسار خارجي لمحتويات Discourse ولكنه متاح للعناوين URL بشكل عام على الخادم. ما يجعل هذا يعمل هو أن / يمثل الجذر الخاص بـ Discourse، لذا سيبدو العنوان وكأنه تحت موقع Discourse الخاص بك على http://discourse.example.com/stupidfilename.txt (تمت إضافة مسافات هنا لتعطيل الرابط الخاطئ)
لذا… ضع الملف خارج مجلد Discourse، وقم بإعداد location ليوجه إليه (alias)، ثم أعد تشغيل nginx.
تادا…
(عدت وقمت بتحرير هذا الجواب لتحسين القراءة وما إلى ذلك، منذ أن حددته كحلّي)