توقف إرسال رسائل البريد الإلكتروني (فشل مؤقت في تحليل الاسم)

مرحباً،

لقد قمت بالتحديث في لوحة الإدارة اليوم إلى 189b4c4992، ومنذ ذلك الحين توقفت رسائل البريد الإلكتروني عن الإرسال. أستخدم Mailgun EU.

ظهرت هذه الرسالة في سجلات /logs: Job exception: getaddrinfo: Temporary failure in name resolution
وهذه في Sidekiq: Jobs::HandledExceptionWrapper: Wrapped SocketError: getaddrinfo: Temporary failure in name resolution

شكرًا لك على أي مساعدة لحل هذه المشكلة! :slightly_smiling_face:

تتبع المكدس (Backtrace)

Job exception: getaddrinfo: Temporary failure in name resolution

/usr/local/lib/ruby/2.7.0/net/smtp.rb:539:in `initialize'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:539:in `open'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:539:in `tcp_socket'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:549:in `block in do_start'
/usr/local/lib/ruby/2.7.0/timeout.rb:95:in `block in timeout'
/usr/local/lib/ruby/2.7.0/timeout.rb:105:in `timeout'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:548:in `do_start'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:518:in `start'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:2141:in `do_delivery'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:253:in `block in deliver'
actionmailer-6.1.4.1/lib/action_mailer/base.rb:559:in `block in deliver_mail'
activesupport-6.1.4.1/lib/active_support/notifications.rb:203:in `block in instrument'
activesupport-6.1.4.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-6.1.4.1/lib/active_support/notifications.rb:203:in `instrument'
actionmailer-6.1.4.1/lib/action_mailer/base.rb:557:in `deliver_mail'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:253:in `deliver'
actionmailer-6.1.4.1/lib/action_mailer/message_delivery.rb:119:in `block in deliver_now'
actionmailer-6.1.4.1/lib/action_mailer/rescuable.rb:17:in `handle_exceptions'
actionmailer-6.1.4.1/lib/action_mailer/message_delivery.rb:118:in `deliver_now'
/var/www/discourse/lib/email/sender.rb:267:in `send'
/var/www/discourse/app/jobs/regular/user_email.rb:83:in `send_user_email'
/var/www/discourse/app/jobs/regular/user_email.rb:38:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-3.0.0/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
sidekiq-6.2.2/lib/sidekiq/processor.rb:196:in `execute_job'
sidekiq-6.2.2/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
sidekiq-6.2.2/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'
sidekiq-6.2.2/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
sidekiq-6.2.2/lib/sidekiq/middleware/chain.rb:143:in `invoke'
sidekiq-6.2.2/lib/sidekiq/processor.rb:163:in `block in process'
sidekiq-6.2.2/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.2.2/lib/sidekiq/job_retry.rb:112:in `local'
sidekiq-6.2.2/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.2.2/lib/sidekiq.rb:38:in `block in <module:Sidekiq>'
sidekiq-6.2.2/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.2.2/lib/sidekiq/processor.rb:257:in `stats'
sidekiq-6.2.2/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.2.2/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.2.2/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.2.2/lib/sidekiq/job_retry.rb:79:in `global'
sidekiq-6.2.2/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.2.2/lib/sidekiq/logger.rb:11:in `with'
sidekiq-6.2.2/lib/sidekiq/job_logger.rb:33:in `prepare'
sidekiq-6.2.2/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.2.2/lib/sidekiq/processor.rb:162:in `process'
sidekiq-6.2.2/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.2.2/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.2.2/lib/sidekiq/util.rb:43:in `watchdog'
sidekiq-6.2.2/lib/sidekiq/util.rb:52:in `block in safe_thread'

هل تستضيف مثيل Discourse الخاص بك عبر Linode؟ (ربما في أتلانتا تحديدًا) لقد واجهت هذه المشكلة خلال آخر ساعة أو ساعتين، حيث كان خادم DNS الافتراضي الخاص بـ Linode يعيد SERVFAIL عند طلب أي نطاق من نطاقات mailgun.org.

لست متأكدًا من سبب ذلك، لكنني قمت بالتبديل مؤقتًا إلى Google DNS، وبعد فترة (أعتقد أنها 20-30 دقيقة)، بدأ خادم DNS الخاص بـ Linode في حل نطاقات mailgun.org مرة أخرى.

مرحبًا سيمون،
شكرًا لك على الرد السريع. :slightly_smiling_face:
أنا أستضيف على Vultr فرانكفورت. لم يحدث هذا من قبل. حدث فقط عندما تعطل Mailgun، لكنني تفحصت الأمر ويبدو أن جميع الأنظمة تعمل بشكل طبيعي.

أتساءل عما إذا كانت هناك مشكلة في نظام أسماء النطاقات (DNS) لدى مزود الخدمة الذي تستخدمه Mailgun. قد يكون تخزين نظام أسماء النطاقات مؤقتًا سلوكه غريبًا بعض الشيء، لذا قد يتأثر خادم أسماء واحد بمشكلة فورًا بينما لا يلاحظه خادم آخر، أو على الأقل لا ينشرها.

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

شكرًا لك يا سيمون! :slightly_smiling_face: يعمل بشكل مثالي! :heart: