تحذيرات واتصالات متكررة لـ Postfix بعد تطبيق valid_recipients

كيفية إعادة تحميل Postfix مع Discourse AI

Ethsim2:

هل صحيح أنني قمت بتعديل main.cf

DiscourseHelper:

البحث

البحث عن: هل من الضروري أو الموصى به تعديل main.cf يدويًا عند تطبيق ملف valid_recipients لقيود المستلمين في حاوية Discourse mail-receiver؟ هل يجب تحرير main.cf مباشرة، أم أن جميع التغييرات الموصى بها تتم معالجتها بواسطة متغيرات بيئة docker أو إعدادات launcher yml لإعدادات Discourse mail-receiver؟

القراءة

قراءة: 📬 تحذيرات Postfix متكررة واتصالات بعد تنفيذ valid_recipients

لا، ليس من الضروري أو الموصى به تعديل main.cf يدويًا في حاوية mail-receiver لتصفية المستلمين الصالحين عند اتباع إعداد Discourse القياسي.

النهج الصحيح:
تم تصميم دليل mail-receiver الرسمي وإعداد الحاوية الخاص بـ Discourse بحيث لا تقوم بتعديل main.cf يدويًا. بدلاً من ذلك:

  • يجب عليك استخدام قسم env في mail-receiver.yml لتعيين معلمات Postfix - على وجه التحديد، باستخدام متغير بيئة مثل:

    POSTCONF_smtpd_recipient_restrictions: texthash:/etc/postfix/valid_recipients
    

    أو، إذا كنت تستخدم نمط التكوين الأقدم:

    POSTCONF_smtpd_recipient_restrictions: check_recipient_access hash:/etc/postfix/valid_recipients, reject
    
  • يقوم Docker/launcher بتطبيق هذه الإعدادات بشكل صحيح عند بدء تشغيل الحاوية، وحقنها في Postfix دون الحاجة إلى تعديل الملفات مباشرة.

قد يتسبب تعديل main.cf مباشرة في حدوث تعارضات أو قد يتم استبداله عند إعادة بناء الحاوية. كما أنه من السهل كسر الأشياء (مثل تنسيق الملف أو تعيين المستلمين) بهذه الطريقة.

بخصوص خطأك:
التحذيرات التي تراها:

warning: /etc/postfix/valid_recipients, line 1: expected format: key whitespace value -- ignoring this line

تنتج عن تنسيق غير صحيح لملف valid_recipients - وليس عن كيفية تعيين التكوين (env مقابل main.cf). تأكد من أن إدخالاتك تبدو كالتالي:

alloweduser@yourdomain.com OK
another@yourdomain.com OK
default REJECT

لا توجد نقاط أو علامات يساوي أو فواصل - فقط العنوان، مسافة بيضاء، و OK (أو REJECT).


لا تقم بتعديل main.cf إلا إذا كان لديك تكوين مخصص متقدم للغاية وتفهم تمامًا ما تفعله.
تتم جميع التعليمات العادية (بما في ذلك تصفية المستلمين والمرسلين الصالحين) عن طريق تعيين متغيرات البيئة في mail-receiver.yml.


المراجع:

ملخص:
لا تحتاج إلى لمس main.cf لإعدادات Discourse mail-receiver القياسية. متغيرات البيئة في yml هي الطريقة الموصى بها والمدعومة. بالنسبة لخرائط المستلمين، استخدم دائمًا تنسيقات hash/texthash الصحيحة وصيغة الملف الصحيحة.


في الواقع، لقد قمت بإزالة التكوين المخصص بالكامل، والتكوين الموصوف هنا، واختبار البريد الخاص بي سار على ما يرام.

تم اكتشاف بنية x86_64.
جارٍ التأكد من تحديث المشغل
جارٍ جلب الأصل
المشغل محدث
جارٍ إيقاف الحاوية القديمة
+ /usr/bin/docker stop -t 600 mail-receiver
mail-receiver
release: جارٍ سحب من discourse/mail-receiver
Digest: sha256:2a0d45bb92a783c846a821e635413764eeadb3441ef6190085545a4[تم حذف 9 أرقام]
Status: الصورة محدثة لـ discourse/mail-receiver:release
docker.io/discourse/mail-receiver:release
ERROR:  لا يمكن العثور على ملف مكتبة Ruby أو مكتبة مشتركة pups
cd /pups && /pups/bin/pups --stdin
/bin/bash: تحذير: setlocale: LC_ALL: لا يمكن تغيير اللغة (en_US.UTF-8)
sha256:[تم حذف 6 أرقام]69734d779a95ec83c7103dc2fc04f1d690ebde62[تم حذف 18 رقمًا]
[مفتاح API بحجم 64 حرفًا؟ تم حذفه]
جارٍ إزالة الحاوية القديمة
+ /usr/bin/docker rm mail-receiver
mail-receiver

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e MAIL_DOMAIN=discourse. MYDOMAINNAME.com -e DISCOURSE_BASE_URL=https:// MYDOMAINNAME.com -e DISCOURSE_API_KEY=[مفتاح API بحجم 64 رقمًا محذوف] -e DISCOURSE_API_USERNAME=system -h ubuntu-mail-receiver -e DOCKER_HOST_IP=172.17.0.1 --name mail-receiver -t -p 25:25 -v /var/discourse/shared/mail-receiver/postfix-spool:/var/spool/postfix --mac-address [عنوان MAC محذوف] local_discourse/mail-receiver /sbin/boot
[مفتاح API بحجم 64 رقمًا؟ محذوف]
root@ubuntu:/var/discourse# ./launcher logs mail-receiver
تم اكتشاف بنية x86_64.
/bin/bash: تحذير: setlocale: LC_ALL: لا يمكن تغيير اللغة (en_US.UTF-8)
بيئة التشغيل:
HOSTNAME=ubuntu-mail-receiver
LANGUAGE=en_US.UTF-8
MAIL_DOMAIN=discourse.MYDOMAINNAME.com
DOCKER_HOST_IP=172.17.0.1
PWD=/
DISCOURSE_BASE_URL=https:// MYDOMAINNAME.com
HOME=/root
LANG=en_US.UTF-8
TERM=xterm
SHLVL=1
DISCOURSE_API_USERNAME=system
LC_ALL=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
INCLUDE_DMARC=true
DISCOURSE_API_KEY=[مفتاح API بحجم 64 رقمًا محذوف]
_=/usr/bin/env
جارٍ تسليم البريد المرسل إلى discourse. MYDOMAINNAME.com إلى Discourse
جارٍ بدء OpenDKIM...
perl: تحذير: فشل تعيين اللغة.
perl: تحذير: يرجى التحقق من إعدادات اللغة الخاصة بك:
        LANGUAGE = "en_US.UTF-8"،
        LC_ALL = "en_US.UTF-8"،
        LANG = "en_US.UTF-8"
    مدعومة ومثبتة على نظامك.
perl: تحذير: العودة إلى اللغة القياسية ("C").
جارٍ إضافة المستخدم 'postfix' إلى المجموعة 'opendkim'...
<86>Jul 23 13:27:19 usermod[16]: add 'postfix' to group 'opendkim'<86>Jul 23 13:27:19 usermod[16]: add 'postfix' to shadow group 'opendkim'تم.
جارٍ بدء OpenDMARC...
perl: تحذير: فشل تعيين اللغة.
perl: تحذير: يرجى التحقق من إعدادات اللغة الخاصة بك:
        LANGUAGE = "en_US.UTF-8"،
        LC_ALL = "en_US.UTF-8"،
        LANG = "en_US.UTF-8"
    مدعومة ومثبتة على نظامك.
perl: تحذير: العودة إلى اللغة القياسية ("C").
<22>Jul 23 13:27:19 opendkim[24]: OpenDKIM Filter v2.11.0 starting (args: -x /etc/opendkim.conf)جارٍ إضافة المستخدم 'postfix' إلى المجموعة 'opendmarc'...
<86>Jul 23 13:27:19 usermod[31]: add 'postfix' to group 'opendmarc'<86>Jul 23 13:27:19 usermod[31]: add 'postfix' to shadow group 'opendmarc'تم.
<22>Jul 23 13:27:19 opendmarc[39]: OpenDMARC Filter v1.4.2 starting (args: -c /etc/opendmarc.conf)<22>Jul 23 13:27:19 opendmarc[39]: additional trusted authentication services: (none)postfix: Postfix is using backwards-compatible default settings
Jul 23 13:27:19 ubuntu-mail-receiver postfix[51]: Postfix is using backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
Jul 23 13:27:19 ubuntu-mail-receiver postfix[51]: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=3.6" and "postfix reload"
Jul 23 13:27:19 ubuntu-mail-receiver postfix[51]: To disable backwards compatibility use "postconf compatibility_level=3.6" and "postfix reload"
جارٍ بدء Postfix
Jul 23 13:27:19 ubuntu-mail-receiver postfix/master[1]: daemon started -- version 3.7.11, configuration /etc/postfix
Jul 23 13:27:53 ubuntu-mail-receiver postfix/smtpd[122]: connect from mail-il1-f180.google.com[209.85.166.180]
<22>Jul 23 13:27:54 policyd-spf[129]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.166.180; helo=mail-il1-f180.google.com; envelope-from= person@gmail.com; receiver=discourse. MYDOMAINNAME.com Jul 23 13:27:54 ubuntu-mail-receiver postfix/smtpd[122]: BC6D71BF9C8: client=mail-il1-f180.google.com[209.85.166.180]
Jul 23 13:27:54 ubuntu-mail-receiver postfix/cleanup[130]: BC6D71BF9C8: message-id=<CWXP1[تم حذف 8 أرقام]81B627937FA7F4B2CE65A15FA@CWXP123MB2918.GBRP123.PROD.OUTLOOK.COM>
<22>Jul 23 13:27:55 opendkim[24]: BC6D71BF9C8: DKIM verification successful<22>Jul 23 13:27:55 opendkim[24]: BC6D71BF9C8: s=20230601 d=gmail.com a=rsa-sha256 SSL<22>Jul 23 13:27:55 opendmarc[39]: implicit authentication service: ubuntu-mail-receiver.localdomain<22>Jul 23 13:27:55 opendmarc[39]: BC6D71BF9C8: gmail.com passJul 23 13:27:55 ubuntu-mail-receiver postfix/qmgr[120]: BC6D71BF9C8: from=<person@gmail.com>, size=75533, nrcpt=1 (queue active)
Jul 23 13:27:55 ubuntu-mail-receiver postfix/smtpd[122]: disconnect from mail-il1-f180.google.com[209.85.166.180] ehlo=1 mail=1 rcpt=1 bdat=2 quit=1 commands=6
<23>Jul 23 13:27:55 receive-mail[133]: Recipient: person.REDACTED@discourse. MYDOMAINNAME.comJul 23 13:27:55 ubuntu-mail-receiver postfix/pipe[132]: BC6D71BF9C8: to=< person.REDACTED@discourse. MYDOMAINNAME.com>, relay=discourse, delay=1.8, delays=1.6/0.01/0/0.22, dsn=2.0.0, status=sent (delivered via discourse service)
Jul 23 13:27:55 ubuntu-mail-receiver postfix/qmgr[120]: BC6D71BF9C8: removed