Ich habe die valid_recipients-Filterung ĂĽber postfix/valid_recipients implementiert und /etc/postfix/valid_recipients gefĂĽllt. Seitdem sehe ich alle ~6 Minuten wiederholte Warnungen und eingehende Verbindungsversuche. Hier ist ein bereinigter Auszug aus meinem Log.
Exakte Log-Ausgabe
Jul 23 05:13:40 ubuntu-mail-receiver postfix/smtpd[2265]: warning: /etc/postfix/valid_recipients, line 1: expected format: key whitespace value -- ignoring this line
Jul 23 05:13:40 ubuntu-mail-receiver postfix/smtpd[2265]: warning: /etc/postfix/valid_recipients, line 2: expected format: key whitespace value -- ignoring this line
...
Jul 23 05:13:40 ubuntu-mail-receiver postfix/smtpd[2265]: warning: /etc/postfix/valid_recipients, line 16: expected format: key whitespace value -- ignoring this line
Diese Warnungen erscheinen alle paar Minuten, synchronisiert mit wiederholten, nicht authentifizierten Verbindungsversuchen wie:
Jul 23 05:13:40 ubuntu-mail-receiver postfix/smtpd[2265]: warning: hostname unassigned.quadranet.com does not resolve to address 198.55.98.3
Jul 23 05:13:40 ubuntu-mail-receiver postfix/smtpd[2265]: connect from unknown[198.55.98.3]
Jul 23 05:13:40 ubuntu-mail-receiver postfix/smtpd[2265]: disconnect from unknown[198.55.98.3] ehlo=1 auth=0/1 quit=1 commands=2/3
Dieses gleiche Muster wiederholt sich von 198.55.98.3 über Dutzende von Zyklen während der Stunde.
Legitime E-Mails werden zugestellt
Nur zur Bestätigung, legitime Zustellungen (z. B. von Microsoft 365) funktionieren:
Suche nach: Ist es notwendig oder empfohlen, main.cf manuell zu ändern, wenn eine valid_recipients-Datei für Empfängerbeschränkungen in einem Discourse Mail-Receiver-Container implementiert wird? Sollte main.cf direkt bearbeitet werden, oder werden alle empfohlenen Änderungen über Docker-Umgebungsvariablen oder Launcher-yml-Einstellungen für Discourse Mail-Receiver-Setups vorgenommen?
Nein, es ist nicht notwendig oder empfohlen, main.cf im Mail-Receiver-Container manuell für die Filterung gültiger Empfänger zu ändern, wenn Sie die Standardkonfiguration von Discourse befolgen.
Korrekter Ansatz:
Die offizielle Mail-Receiver-Anleitung und die Container-Einrichtung von Discourse sind so konzipiert, dass Sie main.cfnicht von Hand bearbeiten. Stattdessen:
Sie sollten den Abschnitt env von mail-receiver.yml verwenden, um Postfix-Parameter festzulegen – insbesondere mit einer Umgebungsvariable wie:
Docker/Launcher wendet diese Einstellungen beim Start des Containers korrekt an und injiziert sie in Postfix, ohne dass Dateien direkt bearbeitet werden mĂĽssen.
Das direkte Bearbeiten von main.cf kann zu Konflikten führen oder bei Container-Neuerstellungen überschrieben werden. Es ist auch auf diese Weise leicht, Dinge zu beschädigen (wie Dateiformat oder Empfängerzuordnung).
Zu Ihrem Fehler:
Die Warnungen, die Sie sehen:
warning: /etc/postfix/valid_recipients, line 1: expected format: key whitespace value -- ignoring this line
werden durch eine falsch formatierte valid_recipients-Datei verursacht – nicht durch die Art und Weise, wie die Konfiguration festgelegt ist (env vs. main.cf). Stellen Sie sicher, dass Ihre Einträge wie folgt aussehen:
alloweduser@yourdomain.com OK
another@yourdomain.com OK
default REJECT
Keine Doppelpunkte, Gleichheitszeichen oder Kommas – nur die Adresse, Leerzeichen und OK (oder REJECT).
Bearbeiten Sie main.cfnicht, es sei denn, Sie haben eine hochgradig fortgeschrittene, vollständig benutzerdefinierte Konfiguration und verstehen genau, was Sie tun.
Alle normalen Anweisungen (einschließlich der Filterung gültiger Empfänger und Absender) werden durch Festlegen von Umgebungsvariablen in mail-receiver.yml durchgeführt.
Zusammenfassung:
Sie sollten main.cf für Standard-Discourse-Mail-Receiver-Setups nicht anfassen müssen. Umgebungsvariablen in der yml sind der empfohlene, unterstützte Weg. Für Empfängerzuordnungen verwenden Sie immer die richtigen Hash/Texthash-Formate und die korrekte Dateisyntax.
eigentlich habe ich die benutzerdefinierte Konfiguration vollständig entfernt, die hier beschriebene Konfiguration, und mein Mail-Test funktionierte einwandfrei.
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 mail-receiver
mail-receiver
release: Pulling from discourse/mail-receiver
Digest: sha256:2a0d45bb92a783c846a821e635413764eeadb3441ef6190085545a4[9 digits redacted]
Status: Image is up to date for discourse/mail-receiver:release
docker.io/discourse/mail-receiver:release
ERROR: Can't find Ruby library file or shared library pups
cd /pups && /pups/bin/pups --stdin
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
sha256:[6 digits redacted]69734d779a95ec83c7103dc2fc04f1d690ebde62[18 digits redacted]
[64 character API Key? Redacted]
Removing old container
+ /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=[64 digit API key redacted] -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 [redacacted mac address] local_discourse/mail-receiver /sbin/boot
[64 digit API key? Redacted]
root@ubuntu:/var/discourse# ./launcher logs mail-receiver
x86_64 arch detected.
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Operating environment:
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=[64 digit API key redacted]
_=/usr/bin/env
Delivering mail sent to discourse. MYDOMAINNAME.com to Discourse
Starting OpenDKIM...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.UTF-8",
LC_ALL = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Adding user `postfix' to group `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'Done.
Starting OpenDMARC...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.UTF-8",
LC_ALL = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
<22>Jul 23 13:27:19 opendkim[24]: OpenDKIM Filter v2.11.0 starting (args: -x /etc/opendkim.conf)Adding user `postfix' to group `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'Done.
<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"
Starting 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[redacted 8 digits]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