Gelöst: Systemmails über postfix und relayhost werden nicht versendet

Hallo User,

ich benötige wieder mal Eure Hilfe. Seit Tagen versuche ich mit Hilfe, danke @bb77, den postfix zum Versand von Mails zu bewegen, leider ohne Erfolg. Ich stelle hier mal alle relevanten Daten zusammen und hoffe, man findet Auffälligkeiten.

Noch etwas zum System und der Vorgeschichte. Bei diesem System handelt es sich um einen RaspberryPi 4 mit Nextcloud. Das System von nextcloudpi wurde vor ca. 2 Jahren installiert und immer aktualisiert. Auch das Upgrade auf Bullseye ist mal erfolgt. Also alles ist tagesaktuell. Das System hängt an einer öffentlichen festen IP mit Domainname und Letś Encrypt in meinen Räumlichkeiten.

Warum auch immer, zu Beginn hatte ich msmtp zum Postversand verwendet und später mal sendmail. Alles war ok. Durch einen neuen Provider, nun Hosteurope, musste ich in der Nextcloud einen neuen SMTP eintragen. War kein Problem, es lief sofort mit STARTTLS.

Ungefähr ab diesem Zeitpunkt fiel mir auf, dass die Systemmails nicht mehr versendet werden. Alles, was aus der Nextcloud-Software versendet wird, kommt aber an! Deshalb habe ich vor einigen Tagen begonnen postfix zu verwenden, installiert und msmtp vom System entfernt. Bis aktuell versendet postfix keine Mails, die Nextcloud schon.

Ich möchte meine Konfiguration hier vorstellen, bitte Euch diese zu kontrollieren und mich auf mögliche Fehler hinzuweisen. Die Einstellungen SMTP-URL-Provider, Benutzername und Kennwort habe ich mehrfach geprüft. Zur Authentifizierung verwende ich in der NC STARTTLS mit Port 587. Unter postfix hatte ich auch den Port 587 genutzt, erhielt aber im mail.log den Fehler “550 relay not permitted”. Der Support vom Provider empfiehlt SSL/TLS über 465, was ich dann auch so eingerichtet habe. Ich komme im Moment nicht weiter. Sollten Informationen fehlen, liefere ich diese gern nach.

Hostname (hostname -f): nextcloudpi

FQDN (hostname --fqdn): nextcloudpi

main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
mydomain = Domainname.de
myhostname = $mydomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = nextcloudpi, $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4

##########################################
##### non debconf entries start here #####
##### client TLS parameters #####
smtp_tls_loglevel=1
smtp_tls_security_level=encrypt
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous

##### map jane@localhost to jane.doe@gmail.com #####
smtp_generic_maps=hash:/etc/postfix/generic
relayhost=[SMTP-URL]:465

/etc/postfix/sasl/passwd:

[SMTP-URL-Prvider]:465 Benutzername:Kennwort

/etc/postfix/generic:

root@nextcloudpi Versandmailadresse_vom_Provider

/etc/aliases:

# See man 5 aliases for format
postmaster: root
pi: root
www-data: root
root: Empfängermailadresse

Wenn ich nun eine Testmail versende mittels:

echo "Test to root." | mail -s "Test message to root" root

kommt keine weitere Ausgabe. Nur im mail.log findet man dann:

Feb 8 20:22:20 nextcloudpi postfix/pickup[124637]: C0A35202E4: uid=0 from=<root@nextcloudpi>
Feb 8 20:22:20 nextcloudpi postfix/cleanup[124647]: C0A35202E4: message-id=<20230208192220.C0A35202E4@meine_Domain.de>
Feb 8 20:22:20 nextcloudpi postfix/qmgr[124638]: C0A35202E4: from=<root@nextcloudpi>, size=346, nrcpt=1 (queue active)
Feb 8 20:22:20 nextcloudpi postfix/cleanup[124647]: C5DDC200C3: message-id=<20230208192220.C0A35202E4@meine_Domain.de>
Feb 8 20:22:20 nextcloudpi postfix/local[124648]: C0A35202E4: to=<root@nextcloudpi>, relay=local, delay=0.06, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (forwarded as C5DDC200C3)
Feb 8 20:22:20 nextcloudpi postfix/qmgr[124638]: C5DDC200C3: from=<root@nextcloudpi>, size=470, nrcpt=1 (queue active)
Feb 8 20:22:20 nextcloudpi postfix/qmgr[124638]: C0A35202E4: removed
Feb 8 20:22:20 nextcloudpi postfix/smtp[124649]: SMTPS wrappermode (TCP port 465) requires setting "smtp_tls_wrappermode = yes", and "smtp_tls_security_level = encrypt" (or stronger) 
Feb  8 20:33:13 nextcloudpi postfix/smtp[124641]: 74D972036E: to=<Empfängeradresse>, orig_to=<root@nextcloudpi>, relay=SMTP-URL-Provider[80.237.130.118]:465, delay=300, delays=0.01/0/300/0, dsn=4.4.2, status=deferred (lost connection with SMTP-URL-Provider[80.237.130.118] while receiving the initial server greeting)

Hat jemand eine Idee wo der Fehler liegen könnte oder wie ich mich der Ursache nähern kann?

Thomas

scheint nicht gesetzt zu sein.

Sollte doch eigentlich überschrieben werden, wenn ich Deine “generic” Datei richtig deute.

Hast Du die “generic” mit dem Befehl

sudo postmap /etc/postfix/generic 

übersetzt?

1 Like

@Mornsgrans,
ich habe smtp_tls_wrappermode = yes aufgenommen und
postmap /etc/postfix/generic ausgeführt.
Eine erste Mail traf ein. Das muss ich morgen in Ruhe testen. Melde mich dann wieder. Schon mal vielen Dank für den Tipp.

Thomas

Na, gibt ja Anlass zur Hoffnung.

Ich habe große Hoffnung. :raising_hand_man:

Ah ok. Ja wenn SSL (Port 465) anstatt STARTTLS (Port 587) verwendet wird, wäre das natürlich eine mögliche Erklärung für den “550 relay not permitted” Error.

Hallo @Mornsgrans

gestern habe ich das System einfach mal arbeiten lassen und heute noch etwas nachgesteuert. Der Versand über postfix erfolgt. Ich habe noch die Versandadresse in der generic geändert. Da hatte ich zur Sicherheit die Versandadresse vom Relayhost genutzt und nun wieder die Versandadresse wieder vom eigenen Host im Einsatz. Der Versand erfolgt bei meinem Provider auch damit.

Zusammenfassend habe ich drei Änderungen vorgenommen:

  1. Die generic nochmals übersetzt in das binäre DB-Format.
  2. smtp_tls_wrappermode = yes in die main.cf aufgenommen.
  3. In der Passwd (incl. portmap…) und main.cf den Port 465 für SSL/TSL geändert.

Vielen Dank für Deine Unterstützung.

Thomas

2 Likes

Hallo,

ich hoffe die Frage ist nicht zu dumm, aber warum kann ich bei den NC Grundeinstellungen alles für SMTP E-Mail Versand einstellen und auch eine Test-Email versenden. Wenn ich aber bspw. in meinem Backup Script eine Mail versende, oder ich einfach über Kommandozeile sendmail nutze kommt nichts an?

Ich habe auch noch nichts weiter konfiguriert an postfix nach der Installation von NCpi.