مرحباً،
نواجه مشاكل في إرسال رسائل البريد الإلكتروني عبر مرحل SMTP لا يتطلب اسم مستخدم وكلمة مرور. أستطيع إرسال رسائل البريد الإلكتروني إلى المرحل باستخدام mailx / sendmail.
هذه هي الإعدادات.
DISCOURSE_SMTP_ADDRESS: xyz.example.com (تم إخفاؤه)
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_AUTHENTICATION: plain
ما أحصل عليه مرة أخرى عند استخدام discourse_doctor يعطي هذا الخطأ.
Net::ReadTimeout
يبدو لي أن رسالة SMTP المرسلة تم إنشاؤها بشكل خاطئ حيث أننا نرسل الأشياء، ولكننا لا نحصل على أي شيء في المقابل على المنفذ 587. هذا يمكن إثباته من خلال تتبع Wireshark.
هل يمكنك من فضلك توضيح كيفية إضافة تسجيل أكثر تفصيلاً أو تصحيح إضافي حتى نتمكن من تحليل المشكلة بشكل أكبر؟ السجلات العادية لا تخبرني شيئًا. وجدت تتبع المكدس (backtrace)، لكنني لست مطور Ruby لذا لا يمكنني تفسيره.
/usr/local/lib/ruby/3.2.0/net/protocol.rb:229:in `rbuf_fill'
/usr/local/lib/ruby/3.2.0/net/protocol.rb:199:in `readuntil'
/usr/local/lib/ruby/3.2.0/net/protocol.rb:209:in `readline'
net-smtp-0.3.3/lib/net/smtp.rb:1057:in `recv_response'
net-smtp-0.3.3/lib/net/smtp.rb:659:in `block in do_start'
net-smtp-0.3.3/lib/net/smtp.rb:1067:in `critical'
net-smtp-0.3.3/lib/net/smtp.rb:659:in `do_start'
net-smtp-0.3.3/lib/net/smtp.rb:611:in `start'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bundler/gems/mail-5b700fc95ee6/lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bundler/gems/mail-5b700fc95ee6/lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:269:in `deliver!'
/usr/local/lib/ruby/3.2.0/delegate.rb:87:in `method_missing'
/var/www/discourse/lib/email/sender.rb:286:in `send'
/var/www/discourse/app/jobs/regular/user_email.rb:79:in `send_user_email'
/var/www/discourse/app/jobs/regular/user_email.rb:39:in `execute'
/var/www/discourse/plugins/chat/lib/chat/user_email_extension.rb:6:in `execute'
/var/www/discourse/app/jobs/base.rb:249:in `block (2 levels) in perform'
rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/app/jobs/base.rb:236:in `block in perform'
/var/www/discourse/app/jobs/base.rb:232:in `each'
/var/www/discourse/app/jobs/base.rb:232:in `perform'
sidekiq-6.5.8/lib/sidekiq/processor.rb:202:in `execute_job'
sidekiq-6.5.8/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
sidekiq-6.5.8/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:134:in `call'
sidekiq-6.5.8/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
sidekiq-6.5.8/lib/sidekiq/middleware/chain.rb:182:in `invoke'
sidekiq-6.5.8/lib/sidekiq/processor.rb:169:in `block in process'
sidekiq-6.5.8/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.5.8/lib/sidekiq/job_retry.rb:113:in `local'
sidekiq-6.5.8/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.5.8/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
sidekiq-6.5.8/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.5.8/lib/sidekiq/processor.rb:263:in `stats'
sidekiq-6.5.8/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.5.8/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.5.8/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.5.8/lib/sidekiq/job_retry.rb:80:in `global'
sidekiq-6.5.8/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.5.8/lib/sidekiq/job_logger.rb:39:in `prepare'
sidekiq-6.5.8/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.5.8/lib/sidekiq/processor.rb:168:in `process'
sidekiq-6.5.8/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.5.8/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.5.8/lib/sidekiq/component.rb:8:in `watchdog'
sidekiq-6.5.8/lib/sidekiq/component.rb:17:in `block in safe_thread'
لقد قمت بخفض إصدار التطبيق إلى آخر إصدار مستقر، ولم يحل هذا المشكلة. الشخص الذي كان يعمل على هذا من قبل في إجازة، لذلك لا يمكنني معرفة الإصدار الذي كان عليه قبل التحديث الأخير. أدركت أيضًا أنه كانت هناك تغييرات حديثة في التعليمات البرمجية في منطقة البريد الإلكتروني. ربما توجد مشاكل هناك؟
شكرا لك

