Clients können keine Emails via SMTP senden

Hallo zusammen,

ich habe UCS 4.1 mit Kopano (Core, Webapp, Z-Push, WebMeeting) installiert. Für den ein oder anderen Client ist es notwendig, Emails per IMAP abzurufen und per SMTP zu senden.

ActiveSync funktioniert problemlos, IMAPs ebenfalls . . . Allerdings lässt sich kein Client zum Senden mittels SMPT verbinden. Ich habe es auf allen Ports mit SSL und TLS probiert, bekomme aber keine Verbindung hin.

swaks spuckt mir bei den entsprechenden Ports folgendes aus:

25

<- 220 server.domain ESMTP Postfix -> EHLO client.domain <- 250-server.domain <- 250-PIPELINING <- 250-SIZE 10240000 <- 250-VRFY <- 250-ETRN <- 250-STARTTLS <- 250-ENHANCEDSTATUSCODES <- 250-8BITMIME <- 250 DSN *** Host did not advertise authentication

465

=== Trying host.domain:465... === Connected to host.domain. <** Timeout (30 secs) waiting for server response -> QUIT <** Timeout (30 secs) waiting for server response === Connection closed with remote host.

587

*** Error connecting to server.domain:587: *** IO::Socket::INET6: connect: Connection refused

Die Ports sind grundsätzlich offen, dass hat ein kurzer Blick mit netstat -tlpn ergeben. Alle Ports lauschen auf 0.0.0.0.

/etc/postfix/master enthält folgende Port-Config, meines Erachtens nach auch richtig.

25 inet n - n - - smtpd 465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes 587 inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_enforce_tls=yes
Emails können aus Kopano heraus gesendet und empfangen werden, lediglich die Benutzeranmeldung zum Senden schlägt fehl. Was habe ich übersehen?

Im /var/log/mail.log finden sich lediglich folgende Einträge:

connect from unknown[IP] disconnect from unknown[IP] warning: hostname client.domain does not resolve to address IP: Name or service not known
Das ist insbesondere verwunderlich, da der rDNS auf den Hostnamen zeigt.

Vielen Dank für Rat!

Andy

Hallo raceface2nd,

auf den ersten Blick schaut das nach einem Auflösungs-Problem aus. Prüfen Sie doch bitte zunächst Ihr DNS-System und dass Postfix ebenfalls die korrekten Netzwerk-Einstellungen hat.

# DNS Domain Transfer (zur Anzeige aller DNS Einstellungen)
root@ucs:~# host -la $(dnsdomainname)

Beim ersten Versuch mit SWAKS via Port 25 sieht man, dass er STARTTLS anbietet, hier muß zunächst eine verschlüsselte Verbindung aufgebaut werden um sich authentifizieren zu können. Prüfen Sie daher bitte auch ‘/etc/postfix/main.cf’ → mynetworks, smtp-Settings, tls-Settings.

Gruß Nico

Hallo,

die DNS-Auflösungen passen in meinen Augen. Wenn ich versuche mich mittels sawk lokal zu verbinden, bekomme ich auf den Ports 25 und 587 die Meldung Host did not advertise authentication.

Auch in der main.cf entdecke ich gerade nichts unlogisches.

[code]
message_size_limit = 10240000

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix

myhostname = [mail.domain]
myorigin = [mail.domain]
smtp_helo_name = [mail.domain]

append_dot_mydomain = no

inet_interfaces = all
inet_protocols = ipv4

mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8

masquerade_domains = $mydomain
masquerade_exceptions = root

transport_maps = hash:/etc/postfix/transport

disable_vrfy_command = no

local_header_rewrite_clients =

virtual_alias_domains =

virtual_alias_maps = hash:/etc/postfix/virtual,
ldap:/etc/postfix/ldap.groups,
ldap:/etc/postfix/ldap.distlist,
ldap:/etc/postfix/ldap.sharedfolderremote,
ldap:/etc/postfix/ldap.sharedfolderlocal,
ldap:/etc/postfix/ldap.virtual

virtual_mailbox_domains = ldap:/etc/postfix/ldap.virtualdomains

virtual_mailbox_maps = hash:/etc/postfix/virtual,
ldap:/etc/postfix/ldap.groups,
ldap:/etc/postfix/ldap.distlist,
ldap:/etc/postfix/ldap.sharedfolderremote,
ldap:/etc/postfix/ldap.sharedfolderlocal,
ldap:/etc/postfix/ldap.virtual

virtual_transport = lmtp:127.0.0.1:2003

canonical_maps = hash:/etc/postfix/canonical
relocated_maps = hash:/etc/postfix/relocated

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unlisted_recipient

smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_starttls_timeout = 300s
smtpd_timeout = 300s
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols =
smtpd_tls_exclude_ciphers = RC4, aNULL
smtpd_tls_cert_file = /etc/univention/letsencrypt/signed.crt
smtpd_tls_key_file = /etc/univention/letsencrypt/domain.key
smtpd_tls_CAfile = /etc/univention/letsencrypt/chained.pem

smtpd_tls_received_header = no
smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom

smtpd_sasl_local_domain =

smtpd_sasl_security_options = noanonymous

smtp_tls_security_level = may
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3
smtp_tls_exclude_ciphers = RC4, aNULL

broken_sasl_auth_clients = yes

smtp_tls_loglevel = 0
smtpd_tls_loglevel = 0

smtpd_tls_dh1024_param_file = /etc/postfix/dh_2048.pem
smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem

tls_preempt_cipherlist = yes

smtpd_tls_eecdh_grade = strong

content_filter = smtp-amavis:[127.0.0.1]:10024[/code]

Vielen Dank für Hilfe!

Andy

Hallo also der Eintrag mynetworks = 127.0.0.0/8 in deiner main.cf gibt an das nur der SMTP Server selbst auf port 25 zugriff hat, hier solltest du die cllients bzw netzwerke eintragen welche über smtp senden dürfen/sollen

LG

Christian

Das Einliefern zum Versenden von Mails über Port 25 ist standardmäßig ausgeschaltet. Clients sollten nur SMTPS (Port 465) und Submission (Port 587) verwenden. Für diese sind standardmäßig diese UCR Variablen gesetzt:

mail/postfix/mastercf/options/smtps/smtpd_sasl_auth_enable=yes mail/postfix/mastercf/options/submission/smtpd_sasl_auth_enable=yes
Des weiteren muss der Versandt authentifizierten Benutzern erlaubt sein. Daher ist standardmäßig per UCR gesetzt:

mail/postfix/smtpd/restrictions/recipient/30=permit_sasl_authenticated

Das scheint mir bei Ihnen alles korrekt zu sein… der Fehler tritt eh bereits beim Verbindungsaufbau auf. Ich vermute daher auch eher ein DNS- oder Firewall-Problem.

[quote=“raceface2nd”]587

*** Error connecting to server.domain:587: *** IO::Socket::INET6: connect: Connection refused[/quote]
Möglicherweise ist die Firewall auf IPv6 komplett zu oder Postfix lauscht dort nicht. Versuchen Sie die IPv4-IP.

Gruß
Daniel Tröder

Hallo,

in der Tat konnte über IPV6 keine Verbindung hergestellt werden, da in der Config lediglich IPv4 aktiviert war. Den entsprechenden Eintrag in mail/postfix/inet/protocols habe ich auf all geändert und Postfix neu gestartet.

Interessanter Weise bekomme ich nun mit sawks auf Port 587 die Meldung Host did not advertise authentication und auf Port 465 ein Timeout. Wenn ich mittels Outlook versuche die Verbindung auf Port 465 mit SSL herzustellen, werde ich immer wieder nach Benutzername und Passwort gefragt und im mail.log taucht folgende Meldung auf:

warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory SASL LOGIN authentication failed: generic failure

Für sawks habe im mail.log die Meldung SSL_accept error from ...

mail/postfix/mastercf/options/smtps/smtpd_sasl_auth_enable ist aber auf yes gesetzt.

Ich habe gerade gesehen, das saslauthd nicht zu laufen scheint, zumindest wird mir mit ps aux | grep sasl keiner angezeigt. Das init-File ist in /etc/init.d enthalten, aber im Admin-Frontend unter Systemdiensten taucht sasl gar nicht auf. Wie aktiviere ich sasl dauerhaft in UCS korrekt bzw. was muss ich beachten?

Muss der User sich dann zum Versenden mit seinem Username oder der eMail-Adresse anmelden?

Viele Grüße!

Andy

saslauthd wird normalerweise automatisch gestartet.
Es sollte univention-sasl installiert sein, wenn die “mailserver” App installiert ist… was natürlich wegen der Kopano App nicht der Fall ist… OK.

Installieren Sie bitte univention-sasl.
Dann schauen Sie ob Dateien /etc/rc*/*saslauthd existieren. Falls nicht, werden sie mit update-rc.d saslauthd defaults angelegt.

Gruß
Daniel Tröder

Danke!

univention-sasl war bereits installiert. Und update-rc.d hat mir foglende Warnung ausgespuckt:

update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match saslauthd Default-Stop values (1) System start/stop links for /etc/init.d/saslauthd already exist.

Selbst ein

update-rc.d -f saslauthd remove gefolgt von einem update-rc.d saslauthd defaults ändert nichts an der Fehlermeldung. Manuell lässt sich sasl auch nur über die Commandline starten. Bei einem Reboot startet es allerdings nicht automatisch.

In den Systemdiensten im Web-Frontend taucht sasl nach wie vor nicht auf. Hier ist mir ebenfalls aufgefallen, dass amavis, spamassassin und der nfs-kernel-server lt. dem Systemdienste-Tab nicht gestartet sind, obwohl sie via ps zu finden sind. Kann hier ein Zusammenhang bestehen?

Vielen Dank!

Andy

Wie lautet denn die Ausgabe von:

root@ucs:~# univention-check-join-status

…und was liefert:

[code]root@ucs:~# ucr search --brief sasl

und

root@ucs:~# dpkg -l univention-sasl
[/code]
zurück?

Prüfen Sie doch bitte einmal, was in ‘/var/log/boot.log’ zum SASL-Daemon steht.

Gruß Nico

Hallo,

wie ist denn die Ausgabe von
root@mail2:~# dpkg -C
sollte hier ein Paket nicht vollständig installiert / konfiguriert sein, mal ein
root@mail2:~# dpkg --configure -a
um die verbliebenen Paket-Konfigurationen nachzuholen.

Im Fehlerfall bitte die Ausgaben hier posten.

Gruß Nico

Hallo,

ich habe den Server gestern komplett neu aufgesetzt. Das hing aber eher damit zusammen, dass irgendetwas an der Nextcloud-App dafür gesorgt hat, dass sämtliche Termin-Einladungen die Kopano nach außen geschickt hat bzw. Kopano von außen bekommen hat, um -1h versetzt wurden. (https://help.univention.com/t/partly-solved-kopano-termine-werden-zeitversetzt-angezeigt-nextcloud-package-is-the-reason/5320)

Ich vermute, dass beim ursprünglichen Aufsetzen des Servers incl. der Nextcloud-App auch ein paar anderen Sachen verschwurbelt wurden. Ohne Nextcloud läuft alles super und sobald ich die App über das App-Center installiere . . . schwupps, nur Probleme.

Viele Grüße!

Andy

Mastodon