إعداد صندوق دعم

يا جماعة، لقد عثرت للتو على هذه التدوينة https://meta.discourse.org/t/how-does-team-discourse-use-discourse/82176، وقد لفت انتباهي هذا:\n\n\u003e يمكن لأي شخص إرسال بريد إلكتروني إلى team@discourse.org ونتعامل مع هذه التفاعلات في صندوق بريد مركزي لـ Discourse، كرسائل جماعية خاصة.\n\nكيف قمتم بإعداد ذلك؟ أود بشدة القيام بذلك لـ steering@somervilleyimby.org (نحن نستخدم حاليًا مجموعة Google وهي محرجة جدًا). أستخدم Google Apps للرسائل الواردة والصادرة من somervilleyimby.org، و Mailgun للتعامل مع رسائل Discourse (على سبيل المثال، jeff@somervilleyimby.org؛ يتم إرسال/استقبال هذه عبر discourse.somervilleyimby.org) لذلك أنا غير متأكد قليلاً كيف يمكنني إعداد ذلك.\n\nأي اقتراحات أو ربما دليل إرشادي؟ لقد لاحظت https://meta.discourse.org/t/configure-incoming-email-to-create-new-topics-or-group-messages/62977، لكن ذلك لا يوصلني إلا إلى منتصف الطريق.

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

مرحباً. هل رأيت Discourse as a private email support portal

5 إعجابات

أوه لطيف لطيف! هذا قراءة جيدة، لكنها لا توضح العنصر الحاسم الذي أفتقده:

كيف أجعل steering@somervilleyimby.org ينتهي به المطاف في مجموعة في Discourse الخاص بنا؟

في الوقت الحالي، يتم تعيين النطاق somervilleyimby.org إلى البريد الإلكتروني لتطبيقات Google، ولدينا هذين العنوانين:

يستخدم البريد الإلكتروني الوارد والصادر من Discourse الخاص بنا discourse.somervilleyimby.org عبر Mailgun، وهو مُعد بشكل جيد.

ولكن كيف يمكنني تعيين عنوان بريد إلكتروني على النطاق الرئيسي ليتم استقباله بواسطة مجموعة داخل Discourse؟

أدرك أن هذا ربما يكون خارج نطاق Discourse نفسه، لكنني افترضت أن شخصًا ما قد يكون لديه فكرة، وأشك في وجود عناوين person@discourse.org فردية بينما يوجد أيضًا عنوان مشترك team@discourse.org يهبط داخل مثيل Team Discourse.

هل سيعمل توجيه بريد إلكتروني إلى someaddress@discourse.somervilleyimby.org؟

لقد فكرت في ذلك، ما زلت أحاول تجميع كيف سأقوم بتوصيل ذلك بالضبط :thinking:

مرحباً جيف :slightly_smiling_face:

لست متأكداً بنسبة 100% أنني أتبعك بشكل صحيح، ولكني أستخدم مستقبل البريد على موقعي المستضاف ذاتياً للتعامل مع رسائل البريد الإلكتروني الواردة، وأسمح بالبريد الوارد في إعدادات المسؤول، ثم أحدد عنوان بريد إلكتروني في إعدادات المجموعة/الفئة حيث أريد أن ينتهي شيء ما.

هل يبدو أي من ذلك مفيداً؟

3 إعجابات

المشكلة في مستلم البريد هي أنه يتعامل مع نطاق واحد فقط.

يستخدم جيف حاليًا نطاقًا فرعيًا للمثيل بينما يريد أيضًا أن يتم التعامل مع صندوق بريد في النطاق الجذر.

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

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

إعجابَين (2)

شكراً للجميع، وأقدر فصل هذا إلى موضوع خاص به.

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

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

باختصار: البريد الإلكتروني يظل صعبًا للغاية.

إعجابَين (2)

إذًا، اكتشفت أنه يمكنني استخدام قواعد توجيه Gmail لإعادة توجيه البريد الإلكتروني إلى steering@discourse.somervilleyimby.org، ثم يقوم Mailgun بنشر ذلك إلى نقطة نهاية المكون الإضافي لـ Mailgun الخاص بي، /mailgun/incoming ولكنها تُرجع أخطاء 422 Unprocessable Entity :thinking:

أعتقد أنني بحاجة إلى التعمق في كود المكون الإضافي قليلاً…

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

لذا، أنا أستخدم Mailgun لهذا الغرض، مما يعقد الأمور بوضوح. ولكني لا أرغب حقًا في التعامل مع بريدي الإلكتروني بنفسي لأنني الوحيد الذي يتعامل مع الإدارة.

ومع ذلك، لقد وجهتموني في الاتجاه الصحيح!

/me يتنهد

بالطبع، ربما يكون كل هذا أقل تعقيدًا لو لم يؤدِ الترقية إلى Discourse 3.x إلى تعطيل البريد الوارد عبر مكون Mailgun الإضافي تمامًا :disappointed:

خطأ أراه

من السجلات:

# env tab
hostname	discourse-app
process_id	9406
application_version	3030a538192252c9d29e4fb763d31810327f370a
HTTP_HOST	discourse.somervilleyimby.org
REQUEST_URI	/mailgun/incoming
REQUEST_METHOD	POST
HTTP_USER_AGENT	Go-http-client/2.0
HTTP_ACCEPT	*/*
HTTP_X_FORWARDED_FOR	<redacted>
HTTP_X_REAL_IP	<redacted>
time	2:59 pm
# info
Message (27 copies reported)

ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity.)
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:251:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:284:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:273:in `verify_authenticity_token'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `each'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `invoke_before'

Env

HTTP HOSTS: discourse.somervilleyimby.org
# backtrace
Message (26 copies reported)

ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity.)
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:251:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:284:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:273:in `verify_authenticity_token'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `each'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `invoke_before'

Env

HTTP HOSTS: discourse.somervilleyimby.org

سأذهب لأرى ما إذا كانت هناك تقارير أخرى مشابهة، ولكن إذا كان لدى أي منكم أفكار، فأنا أرحب بها!

فهمت! حسنًا، رائع، أولاً، الترقية إلى Discourse v3.x + إضافة Mailgun القديمة الخاصة بي كانت عقبة.

على أي حال، الطريقة:

  1. قم بإعداد مسار استقبال Mailgun للعنوان أو نمط التعبير العادي لاستقبال البريد الوارد.
  2. قم بزيارة Google Admin.
  3. في التنقل الأيسر، قم بتوسيع “التطبيقات”، ثم “مساحة عمل Google”، وانقر على “Gmail” (قد يعمل هذا الرابط؟).
  4. انقر على التوجيه الافتراضي.
  5. قم بإنشاء مسار يقوم بتعيين العنوان أو النمط على نطاقك الرئيسي إلى نطاقك الفرعي المدعوم من Mailgun:
4 إعجابات

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