# لا يمكن استلام البريد من خادم البريد الإلكتروني

**URL:** https://meta.discourse.org/t/cannot-receive-the-mail-from-email-server/171119
**Category:** Self-hosting
**Created:** [24 نوفمبر 2020، 5:39ص UTC](https://meta.discourse.org/t/cannot-receive-the-mail-from-email-server/171119 "2020-11-24T05:39:17Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![chiehpower](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chiehpower/32/200361_2.png) [@chiehpower](https://meta.discourse.org/u/chiehpower)
#### Post date: [24 نوفمبر 2020، 5:39ص UTC](https://meta.discourse.org/t/cannot-receive-the-mail-from-email-server/171119/1 "2020-11-24T05:39:17Z")

</div>

أهلاً بكم جميعاً،

أنا على علم بهذه المشكلة، فهي معروفة وسهلة الوقوع فيها. لقد قرأت وقمت بالعديد من الاختبارات، لكنني علقْتُ في خطوة “إرسال البريد الإلكتروني”.

لقد اتبعت الدليل الموجود هنا: [https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md،](https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md%D8%8C) وفيما يلي خطواتي:

```plaintext
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

```

انتقل إلى `/samples/` وانسخ ملف `standalone.yml` إلى `/containers/app.yml`.

يرجى تعديل معلومات خادمك.  
بعد ذلك:

```plaintext
sudo ./discourse-doctor

```

## التجربة الأولى

عندما كانت إعدادات ملف `app.yml` كالتالي:

```plaintext
DISCOURSE_HOSTNAME : 'localhost'

```

وملأت المعلومات التالية:

```plaintext
  DISCOURSE_SMTP_ADDRESS: XXX
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: XXX
  DISCOURSE_SMTP_PASSWORD: XXX
  DISCOURSE_SMTP_ENABLE_START_TLS: true   

```

**يتم استضافة خادم البريد الإلكتروني أيضاً على الشبكة الداخلية.**  
في البداية، عملت كل شيء بشكل صحيح. استطاع Discourse إرسال بريد التسجيل بشكل صحيح، كما تمكنت من الوصول إلى لوحة الإدارة بشكل طبيعي.

ومع ذلك، عندما قمت بتعيين `localhost` كقيمة لـ `HOSTNAME`، لم أتمكن من استخدام عنوان IP الداخلي (مثل 10.1.X.X) للوصول عبر المتصفح.

* * *

# التجربة الثانية

لذلك قمت بتعديل قيمة `DISCOURSE_HOSTNAME` فقط دون تغيير أي معلومات أخرى في ملف `app.yml`.

```plaintext
DISCOURSE_HOSTNAME : '10.1.3.91'

```

ملاحظة: 10.1.3.91 هو عنوان IP الداخلي (الشبكة المحلية) الخاص بي.

بعد تغيير اسم النطاق (hostname) إلى هذا العنوان، تمكنت من الوصول عبر المتصفح. لكن خادم البريد الإلكتروني توقف عن العمل، ولم أعد أستطيع استقبال أي رسائل من Discourse.

* * *

# ملاحظات إضافية

لقد حاولت إرسال بريد إلكتروني باستخدام بايثون مع خادم `SMTP` الخاص بي.

إليك النص البرمجي:

```plaintext
from email.mime.multipart import MIMEMultipart
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib

content = MIMEMultipart() 
content["subject"] = "Learn Code With Mike"  
content["from"] = " (بريدي الإلكتروني) "  
content["to"] = " (بريد تجريبي) "
content.attach(MIMEText("Demo python send email"))  

with smtplib.SMTP(host=" (نفس DISCOURSE_SMTP_ADDRESS) ", port="587") as smtp: 
    try:
        smtp.ehlo() 
        smtp.starttls()  
        smtp.login(" (نفس DISCOURSE_SMTP_USER_NAME) ", " (نفس DISCOURSE_SMTP_PASSWORD) ") 
        smtp.send_message(content)  
        print("Complete!")
    except Exception as e:
        print("Error message: ", e)

```

عمل هذا النص بنجاح. هل هذا يثبت أن معلومات SMTP صحيحة وقابلة للاستخدام؟

هل لديكم أي أفكار حول هذه المشكلة؟

بالنسبة لخادم البريد، جربت أيضاً خدمات `Elastic Email` و `Mailjet`، لكن لم تنجح أي منهما.

# الخلاصة:

إذا تم استخدام `localhost` كقيمة لـ `DISCOURSE_HOSTNAME`، فإن خادم البريد يعمل.  
إذا تم تغيير `DISCOURSE_HOSTNAME` إلى عنوان IP داخلي (أي عنوان IP محلي)، فإن خادم البريد لا يعمل.

شكراً جزيلاً لكم!!!

مع أطيب التحيات،  
جييه

---

<div class="post-metadata">

### Author: ![chiehpower](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chiehpower/32/200361_2.png) [@chiehpower](https://meta.discourse.org/u/chiehpower)
#### Post date: [24 نوفمبر 2020، 6:21ص UTC](https://meta.discourse.org/t/cannot-receive-the-mail-from-email-server/171119/2 "2020-11-24T06:21:32Z")

</div>

## تحديث:

يمكنني استلام البريد الإلكتروني في بداية رسالة “تهانينا، لقد قمت بتثبيت Discourse!” و"تسجيل حساب المسؤول" باستخدام عنوان IP الداخلي المحدد عند الوصول من جهاز آخر. ومع ذلك، بعد هذه الخطوات، يظهر خطأ يفيد بعدم إمكانية العثور على الصفحة. لماذا كان الوصول ممكنًا في الأصل عبر عنوان IP الداخلي، وبعد هذا الإعداد يصبح عنوان IP الأصلي غير صالح؟  
أمر غريب جدًا…

---

<div class="post-metadata">

### Author: ![chiehpower](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chiehpower/32/200361_2.png) [@chiehpower](https://meta.discourse.org/u/chiehpower)
#### Post date: [24 نوفمبر 2020، 7:22ص UTC](https://meta.discourse.org/t/cannot-receive-the-mail-from-email-server/171119/3 "2020-11-24T07:22:56Z")

</div>

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

انتقل إلى /etc/hosts

واضبط اسم المضيف ليكون عنوان IP الخاص بك.  
يتم تعيين اسم المضيف أيضًا كـ IP.

يمكن استخدام `DISCOURSE_HOSTNAME` عنوان IP داخلي.  
عندها سيعمل.

(بالطبع، هذا للاستخدام الداخلي فقط.)

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [24 ديسمبر 2020، 7:35ص UTC](https://meta.discourse.org/t/cannot-receive-the-mail-from-email-server/171119/4 "2020-12-24T07:35:28Z")

</div>

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