جارٍ إجراء فحوصات وتغييرات على ملف app.yml - تم مسح السجلات مسبقًا - سأحاول إرسال رسائل البريد الإلكتروني وأبلغكم.
تعديل
لذلك، فإن مسح السجلات وإرسال رسائل البريد الإلكتروني إلى Gmail أو إلى نطاقي الخاص لا يُظهر أي أخطاء. أحصل على رسائل بريد إلكتروني على Gmail ولكن لا شيء على نطاقي.
تسجل MailGun تقول هذا بشكل أساسي:
{
"recipient": "me@mydomain",
"id": "SCBCSJxDSqupdU9Da29rRw",
"envelope": {
"sender": "postmaster@mg.mydomain",
"targets": "me@mydomain",
"transport": "smtp",
"sending-ip": "192.168.0.1"
},
"timestamp": 1697462206.8430145,
"user-variables": {},
"message": {
"headers": {
"from": "Discourse Test Forum <postmaster@mg.mydomain>",
"message-id": "9d3b190d-bcbd-4378-8eb6-fc90cd57fe35@discourse.mydomain",
"to": "me@mydomain",
"subject": "[Discourse Test Forum] Email Deliverability Test"
},
"attachments": [],
"size": 4546
},
"storage": {
"region": "us-west1",
"key": "BAABAQUOTl3y4PtvsqlN5Z2OvaxXslLlZA",
"env": "production",
"url": "https://storage-us-west1.api.mailgun.net/v3/domains/mg.mydomain/messages/BAABAQUOTl3y4PtvsqlN5Z2OvaxXslLlZA"
},
"reason": "generic",
"delivery-status": {
"enhanced-code": "",
"mx-host": "mydomain",
"description": "",
"certificate-verified": true,
"attempt-no": 1,
"code": 550,
"message": "Verification failed for <bounce+674b6a.be6180c-me=mydomain@mg.mydomain>\nThe mail server does not recognize bounce+674b6a.be6180c-me=mydomain@mg.mydomain as a valid sender.\nSender verify failed",
"session-seconds": 40.878,
"tls": true
},
"campaigns": [],
"severity": "permanent",
"tags": [],
"recipient-domain": "mydomain",
"flags": {
"is-routed": false,
"is-authenticated": true,
"is-test-mode": false,
"is-system-test": false
},
"log-level": "error",
"event": "failed"
}
أحصل على هذا فقط إذا حاولت على نطاقي الخاص. إذا حاولت على أي نطاق آخر، فلا بأس - بريد مجاني أم لا.
الإعدادات الحالية في app.yml هي:
## هذا هو قالب حاوية 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"
## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## انظر https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## قم بتعيين db_shared_buffers إلى 25٪ كحد أقصى من الذاكرة الإجمالية.
## سيتم تعيينها تلقائيًا بواسطة bootstrap بناءً على ذاكرة الوصول العشوائي المكتشفة، أو يمكنك تجاوزها
db_shared_buffers: "2048MB"
## يمكن أن يحسن أداء الفرز، ولكنه يضيف استخدام الذاكرة لكل اتصال
#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
## كم عدد طلبات الويب المتزامنة التي يتم دعمها؟ يعتمد على الذاكرة وأنوى وحدة المعالجة المركزية.
## سيتم تعيينها تلقائيًا بواسطة bootstrap بناءً على وحدات المعالجة المركزية المكتشفة، أو يمكنك تجاوزها
UNICORN_WORKERS: 8
## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
## مطلوب. لن تعمل Discourse برقم IP عارٍ.
DISCOURSE_HOSTNAME: mydomain
## قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
## اسم المضيف (-h option) كما هو محدد أعلاه (الافتراضي "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: قائمة بالبريد الإلكتروني مفصولة بفواصل سيتم جعلها مسؤولاً ومطورًا
## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'me@mydomain'
## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
# عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
# تحذير الحرف '#' في كلمة مرور SMTP يمكن أن يسبب مشاكل!
DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: postmaster@mg.mydomain
DISCOURSE_SMTP_PASSWORD: "mailgunpassword"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (اختياري، الافتراضي صحيح)
#DISCOURSE_SMTP_FORCE_TLS: true
DISCOURSE_SMTP_DOMAIN: mydomain
DISCOURSE_NOTIFICATION_EMAIL: postmaster@mg.mydomain
## إذا قمت بإضافة قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
LETSENCRYPT_ACCOUNT_EMAIL: freemailaccount
## عنوان CDN http أو https لهذه النسخة من Discourse (تم تكوينه للسحب)
## انظر https://meta.discourse.org/t/14857 للحصول على التفاصيل
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## مفتاح عنوان IP الخاص بـ maxmind geolocation للبحث عن عنوان 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
- git clone https://github.com/discourse/discourse-spoiler-alert.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-docs.git
## أي أوامر مخصصة لتشغيلها بعد البناء
run:
- exec: echo "Beginning of custom commands"
## إذا كنت ترغب في تعيين عنوان البريد الإلكتروني 'من' للتسجيل الأول، قم بإلغاء التعليق والتغيير:
## بعد الحصول على البريد الإلكتروني الأول للتسجيل، أعد التعليق على السطر. يحتاج فقط إلى التشغيل مرة واحدة.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
حقًا - التغييرات الوحيدة التي تم إجراؤها على هذا ستكون:
DISCOURSE_SMTP_ADDRESS: smtp.mydomain
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: email@mydomain
DISCOURSE_SMTP_PASSWORD: "mydomainmailpassword"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (اختياري، الافتراضي صحيح)
#DISCOURSE_SMTP_FORCE_TLS: true
DISCOURSE_SMTP_DOMAIN: mydomain
DISCOURSE_NOTIFICATION_EMAIL: email@mydomain
بمجرد أن أتلقى ردًا من شخص ما، سأقوم بإجراء تلك التغييرات والتحقق مرة أخرى في السجلات. أو… ربما أقوم بذلك فقط - أنشر السجلات - وأنتظر ردًا. لا ينبغي أن يستغرق الأمر وقتًا طويلاً. سنرى.