لا يمكن إرسال البريد عبر خادم smtp (mailjet)

مرحباً! واجهت سؤالاً بخصوص إرسال البريد الإلكتروني، أي مساعدة ستكون موضع تقدير :smiling_face_with_three_hearts:

أنا أستخدم Mailjet كخادم SMTP، وقد قمت بتعيين app.yml بالإشارة إلى الموضوع (Howto use Mailjet as a free SMTP service for Discourse) وقمت بالتحقق من صحة نطاقي وعنوان بريدي الإلكتروني في Mailjet. لقد فتحت المنافذ 80\443\578\553

ولكن عندما أرسل بريدًا تجريبيًا، لا يحدث شيء


هذا هو ملف app.yml الخاص بي

## هذا هو القالب الشامل والمستقل لحاوية Docker الخاصة بـ Discourse
##
## بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن حذرًا جدًا عند التحرير!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البيضاء أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف حسب الحاجة

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## قم بإلغاء التعليق على السطر التالي لتمكين مستمع IPv6
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.china.template.yml"

## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## راجع https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
  - "80:80"   # http
  - "443:443" # https
  - "553:553"
  - "587:587"
params:
  db_default_text_search_config: "pg_catalog.english"

  ## قم بتعيين db_shared_buffers إلى حد أقصى 25٪ من الذاكرة الإجمالية.
  ## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على الذاكرة العشوائية المكتشفة، أو يمكنك تجاوزها
  db_shared_buffers: "128MB"

  ## يمكن أن يحسن أداء الفرز، ولكنه يضيف استخدام الذاكرة لكل اتصال
  #db_work_mem: "40MB"

  ## ما هو إصدار Git الذي يجب أن تستخدمه هذه الحاوية؟ (الافتراضي: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## كم عدد طلبات الويب المتزامنة التي يمكن دعمها؟ يعتمد على الذاكرة وأنوي CPU.
  ## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على أنوية CPU المكتشفة، أو يمكنك تجاوزها
  UNICORN_WORKERS: 2

  ## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
  ## مطلوب. لن تعمل Discourse برقم IP عارٍ.
  DISCOURSE_HOSTNAME: discuss.whitewater.wang

  ## قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
  ## اسم المضيف (-h option) كما هو محدد أعلاه (الافتراضي "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: قائمة بعناوين البريد الإلكتروني المفصولة بفواصل ستصبح مسؤولة ومطورة
  ## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'whitewatercn@outlook.com'

  ## TODO: خادم البريد SMTP المستخدم للتحقق من صحة الحسابات الجديدة وإرسال الإشعارات
  # عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
  # تحذير الحرف '#' في كلمة مرور SMTP يمكن أن يسبب مشاكل!
  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: 7b14af9b5034******
  DISCOURSE_SMTP_PASSWORD: "46764f565******"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (اختياري، الافتراضي صحيح)
  # DISCOURSE_SMTP_DOMAIN: beginner.center
  # DISCOURSE_NOTIFICATION_EMAIL: noreply@discuss.whitewater.wang
  # DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
  # DISCOURSE_SMTP_ENABLE_START_TLS: true


  ## إذا أضفت قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## عنوان CDN http أو https لهذه النسخة من Discourse (تم تكوينه للسحب)
  ## راجع https://meta.discourse.org/t/14857 للحصول على التفاصيل
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## مفتاح عنوان IP الخاص بـ MaxMind لتحديد موقع عنوان IP
  ## راجع https://meta.discourse.org/t/-/137387/23 للحصول على التفاصيل
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## حاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## الإضافات هنا
## راجع https://meta.discourse.org/t/19157 للحصول على التفاصيل
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## أي أوامر مخصصة لتشغيلها بعد البناء
run:
  - exec: echo "Beginning of custom commands"
  ## إذا كنت تريد تعيين عنوان البريد الإلكتروني 'من' للتسجيل الأول، قم بإلغاء التعليق والتغيير:
  ## بعد الحصول على البريد الإلكتروني الأول للتسجيل، أعد التعليق على السطر. يحتاج فقط إلى التشغيل مرة واحدة.
  - exec: rails r "SiteSetting.notification_email='noreply@discuss.whitewater.wang'"
  - exec: echo "End of custom commands"

@Lhc_fl هل يمكنك المساعدة في إلقاء نظرة؟

هذا يوضح على الأرجح أن المشكلة ليست في discourse، بل في mailjet.

ضع في اعتبارك ./launcher enter app للدخول إلى حاوية docker الخاصة بك، ثم rake email:test[example@outlook.com] لاختبار توفر البريد الإلكتروني.

إعجابَين (2)

شكرا لك على الرد! لقد جربت أمر الاختبار، وظهرت رسالة انتهاء المهلة

root@iZ0jlfiypegsmh5fpig7t4Z-app:/var/www/discourse# rake emails:test[whitewatercn@outlook.com]
Testing sending to whitewatercn@outlook.com using in-v3.mailjet.com:587, username:7b14af9b5034dd6e7639d19587cb7831 with plain auth.
SMTP server connection successful.
Sending to whitewatercn@outlook.com. . . 
Sending mail failed.
JavaScript was terminated (either by timeout or explicitly)

يمكن إرسالها الآن، لكن لم يتم استلام البريد الإلكتروني

root@iZ0jlfiypegsmh5fpig7t4Z-app:/var/www/discourse# rake emails:test[whitewatercn@outlook.com]
Testing sending to whitewatercn@outlook.com using in-v3.mailjet.com:587, username:7b14af9b5034dd6e7639d19587cb7831 with plain auth.
SMTP server connection successful.
Sending to whitewatercn@outlook.com. . . 
Mail accepted by SMTP server.
Message-ID: fc301347-746b-4b89-8c07-deeb1ee467a4@discuss.whitewater.wang

If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.

If the message is not delivered it is not a problem with Discourse.
Check the SMTP server logs for the above Message ID to see why it
failed to deliver the message.

تم التغيير إلى خادم البريد، وهو متاح الآن :upside_down_face:

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