Grundeinstellungen - eMail-Versand via SSL

Hallo,
ich habe seit einiger Zeit ein Problem mit meiner Nextcloud, was die Konfiguration der SMTP-Daten zum Versenden von eMails aus der Nextcloud angeht.
Es hat vor einigen Wochen noch funktioniert, aber dann wurde von meinem Provider auf SSL umgestellt. Seitdem funktioniert leider nichts mehr und die Test-eMail kann nie gesendet werden.

Was ich dazu sagen muss ist, dass auf all meinen Geräten (PC [Windows], iPhone, iPad) funktioniert alles mit SSL einwandfrei. Es funktioniert ausschließlich in der Nextcloud nicht.

Mein Provider und ich (wir sind Freunde) haben schon so viele Dinge untersucht, aber zwischenzeitlich fällt uns beiden nichts mehr ein.

Wir haben die korrekten Daten in der Oberfläche unter “Verwaltung / Grundeinstellungen” in der Oberfläche eingetragen:
Sendemodus: SMTP
Verschlüsselung: “Keine/STARTTLS” - haben aber auch mal “SSL” versucht.
Absenderadresse: hier haben wir die korrekte Absenderadresse eingetragen.
Serveradresse: Korrekte Serveradresse ist drin und Ports 25, 587 oder auch 465 wurden getestet.
Authentifizierung: Angehakt, da benötigt
Zugangsdaten: Diese sind korrekt erfasst!

Die config.php zeigt die Daten auch korrekt gespeichert an.

Wir bekommen stets die Meldung “Beim Senden der E-Mail ist ein Problem aufgetreten. Bitte überprüfe deine Einstellungen. (Fehler: E-Mail konnte nicht versandt werden. Prüfe dein E-Mail-Server-Protokoll)”.

Wir haben sämtliche Protokolle geschaut, die wir ermitteln konnten. Sowohl auf meinem eMail-Server, als auch in der Nextcloud.
Welches Log sollte das denn konkret sein? nextcloud.log? Oder doch ein anderes?

Kann mir dazu jemand helfen das zu prüfen und zu korrigieren? Gerne liefere ich noch weitere, nicht sensible Daten, falls nötig …

Würde mich sehr über Hilfe freuen.

Noch ein Hinweis: Ich nutze die ganz aktuelle Version 27.1.0

Die Nextcloud Mail-App ist nur ein Benutzerinterface ohne Mailbox/-konto. Dein(e) Nextcloud-Benutzer benötigen ein Postfach (z.B. IMAP) über das dann die Mails empfangen und gesendet werden können.

Seit der Nextcloud Version 25.* hat es in den E-Mail-Einstellungen wesentliche Änderungen gegeben.
Hier einmal meine aktuelle “email.config.php”, welche seitdem bei mir funktioniert.

<?php
$CONFIG = [
  'mail_domain' => 'mydomain.de',
  'mail_from_address' => 'nextcloud-noreply',
  'mail_smtpmode' => 'smtp',
  'mail_smtphost' => 'smtp.mydomain.de',
  'mail_smtpport' => '465',
  'mail_smtpsecure' => 'ssl',
  'mail_smtpauth' => 'true',
  'mail_smtpname' => 'postmaster@mydomain.de',
  'mail_smtppassword' => '123456789',
];

In den älteren Versionen waren noch die nachfolgenden Zeilen enthalten, welche nun auf keinen Fall mehr enthalten sein dürfen.

  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtptimeout' => 30,
  'mail_sendmailmode' => 'smtp',

Schau einmal bei Dir nach, ob eventuell diese Zeilen noch in Deiner config.php enthalten sind und kommentiere diese mit # aus.

Vielen Dank für das Feedback. Am WE konnte ich leider nicht ran und werde es heute einmal testen.
Melde mich in jedem Fall zurück.

Ich habe es damit gerade nun versucht, aber leider ohne Erfolg.
Beim Speichern der Config.php hat er “mail_smtpsecure” wieder raus geworfen und “mail_smtpauth” hat er von “true” auf “1” umgestellt, was ich denke, was nicht schlimm ist.
Außerdem hatte ich darauf geachtet, dass die von dir angegebenen Parameter NICHT mehr drin sind, welche nicht mehr enthalten sein sollen.
Allerdings hat er automatisch “mail_sendmailmode” wieder hinzugefügt und zwar mit dem Wert “smtp”.

Noch eine Idee?

Das sieht für mich so aus, als würdest Du sendmail und nicht smtp verwenden.
Hast Du bei Dir diese Zeile in der config.php?
‘mail_smtpmode’ => ‘sendmail’,

Welcher Modus für das Senden von Mails verwendet werden soll: sendmail, smtp oder qmail.

Wenn Sie lokales oder entferntes SMTP benutzen, setzen Sie dies auf smtp.

Für die Option “sendmail” benötigen Sie ein installiertes und funktionierendes E-Mail-System auf dem Server, wobei /usr/sbin/sendmail auf Ihrem Unix-System installiert sein muss.

Für qmail ist das Binary /var/qmail/bin/sendmail, und es muss auf Ihrem Unix-System installiert sein.

Die Voreinstellung ist smtp.

Ich verwalte meine E-Mail-Einstellungen in einer separaten Datei “email.config.php”, siehe weiter oben. Diese Datei liegt bei mir in dem Ordner “config”, in welchem auch die config.php liegt. In der config.php werden vorher alle Einstellungen mit 'mail_*** gelöscht. Später werden natürlich die Einstellungen aus der Datei “email.config.php” in die config.php übertragen.

Bevor Du diese Datei “email.config.php” in den Ordner legst, überprüfe unter Verwaltungs-Einstellungen → Grundeinstellungen → E-Mail-Server, ob wirklich alle Felder leer sind.
Wenn Du diese Datei dann in den Ordner legst, dann werden die Felder automatisch befüllt und Du kannst den Test-Button “E-Mail senden” drücken. (Kein Feld vorher editieren und auch nicht auf den “Speichern” Button drücken!)

Ergänzung:
Der einzige Wert, welchen es nicht mehr gibt, ist

'mail_smtpauthtype' => 'LOGIN',

Die anderen Werte werden unter Umständen noch benötigt.
Ein Blick in die “config.sample.php” ab der Zeile 427 ist zu empfehlen.

Ich habe bei mir einen aktuellen Test durchgeführt, alle Mail-Parameter in der “config.php” gelöscht und die “email.config.php” aus dem Ordner entfernt.
Ergebnis:

Im Anschluss habe ich nur die “email.config.php” wieder in den Ordner gelegt.
Ergebnis:

Hi Crashandy,
vielen Dank für die wertvollen Antworten.
Hier ein paar Rückmeldungen von mir:

Ich habe den Parameter “mail_smtpmode” geprüft und er ist vorhanden, aber auf “smtp” eingestellt. Ich nutze kein sendmail.

Dann habe ich deinen Anweisungen gefolgt, um eine eigene Config-Datei anzulegen: email.config.php.

Ich habe zunächst eine neue Datei auf meinem lokalen Rechner angelegt: email.config.php und dort alle Parameter mit “mail_xxxx” beginnend reinkopiert.
Dann habe ich die “config.php” angepasst und die Parameter alle rausgelöscht.

Danach soll ich die Grundeinstellungen als Admin öffnen und prüfen, ob die Felder leer sind: Auch das hat funktioniert und letztlich die Datei email.config.php in den Ordner und noch einmal prüfen.
Hat alles funktioniert.

Der Test hat dann aber leider dennoch nicht funktioniert :frowning:

Jetzt gibt es noch die Möglichkeit einen anderen E-Mail-Provider zu testen.
Ich hatte einmal ein ähnliches Problem mit einem selbst gehosteten Plex-Server, welcher noch mit einer älteren TLS-Version gearbeitet hat. (TLS 1.1)
Mit diesem E-Mail-Server konnte ich absolut keine erfolgreiche Verbindung mit Nextcloud herstellen. Auch im Thunderbird musste eigens dafür der Wert “security.tls.version.min” von 3 auf 2 geändert werden, damit der E-Mail-Verkehr funktioniert.
Sämtliche anderen E-Mail-Clients, darunter auch Outlook, haben dies unrichtiger Weise toleriert.

Eventuell einmal eine kostenfreie E-Mail wie web.de oder gmx.net als SMTP-Server verwenden. Der Empfänger sieht davon nichts, sondern er sieht nur die eingetragene Absenderadresse.

  'mail_domain' => 'mydomain.de',
  'mail_from_address' => 'nextcloud-noreply',

Ergänzung:
Als Absenderadresse “info” anzugeben, ist auch keine richtige Lösung, da eine Antwort auf diese System-E-Mail eigentlich nicht erwünscht ist.

Ich habe sogar eine gmx-Adresse, mit der ich es gerade probieren konnte. Leider aber mit gleichem Fehler:

:frowning:

Ich habe als Absenderadresse bereits deine Variante “nextcloud-noreply” geändert. Das wollte ich auch schon ausschließen.

Und noch eine Frage: Wenn ich in den Grundeinstellungen auf “Speichern” klicke, dann fügt er mir die Parameter immer wieder in der config.php-Datei ein und lässt die email.config.php unverändert.

Gibt es eine Möglichkeit das vollständig umzulenken und dass er Änderungen auch in der email.config.php-Datei speichert und die config.php unverändert lässt?

Da es an dieser Stelle schon häufig Probleme gab, ändere ich meine Einstellungen immer in der zusätzlichen Datei und vermeide den Button “Speichern” zu drücken.
Die Einträge in der email.config.php überschreiben die Einträge in der config.php.
Es dauert aber manchmal ein paar Minuten. Seitenaktualisierung oder Cron?

Ein weiterer Versuch ist, einmal STARTTLS zu verwenden, dazu in der Datei die Werte wie folgt ändern.

‘mail_smtpport’ => ‘587’,
‘mail_smtpsecure’ => ‘’,

Das sieht dann so aus und funktioniert bei mir auch.

hat leider auch nicht funktioniert. Und das sogar momentan noch mit der gmx.net-Variante.

Welches Protokoll ist denn hier in der Meldung immer gemeint. Ich weiß nicht, wo ich da reinschauen soll. Das würde aber doch ggf. helfen, oder? Hast du dazu eine Idee?

Ich habe bspw. bei meinem Provider die Möglichkeit auf Linux-Ebene auf “mail.err”, “mail.info” etc zuzugreifen. (Falls das die Protokolle sein sollen - aber dort hatten wir schon geprüft und nichts drin finden können).

Ähm, du kannst nicht nextcloud-noreply enigeben bei der Absenderadresse, denn diese Adresse benutzt ja @Crashandy schon. :wink:

Du musst DEINE Email Adresse eingeben, die du bei GMX oder web.de registriert hast, und mit der du dich auch ins Webmail oder in einem beliebigen Email Clinet einloggen würdest.

Der Rest sieht ok aus, falls die Zugangsdaten Benutzer: DEINE Emailadresse und Passwort stimmen.

Ah, okay.
Aber dann geht es ja wieder VON “XYZ@gmx.de” AN “XYZ@gmx.de”, oder?

(Oder stehe ich auf dem Schlauch?)

Wenn der Adminnutzer oder dein Nextcloudnutzer dieselbe Emailadresse nutzt, von der auch die Benachrichtigungen gesendet werden ist das so. Wenn du das nicht willst, musst du in den Usersettings deines Nutzers und des Adminnutzers eine eine andere Emailadresse hinterlegen als diejenige, über die du die Benachrichtigungen verschickst. Bist du und der Server Admin dieselbe Person, brauchst du zwei verschiedene Emailadressen, um das zu erreichen.

In den Email-Server Einstellungen auf dem Screenshot gibst du an über welchen Emailaccount / von welcher Emailadresse der Server Benachrichtigungen verschickt. Diese Benachrichtigungen werden dann an die Emailadressen verschickt, welche die Nutzer in ihren Nuterprofilen hinterlegt haben. Sind diese Adressen identisch, geht es halt an die gleiche Adresse von der es gekommen ist.

Du kannst aber nicht einfach irgendeine Absenderadresse erfinden. Die Mails werden über die Adresse versendet mit der du bei GMX registriert bist. Du kannst aber eine weiter Emailadresse bei GMX eröffnen. k.a. no-reply-Nextcloud-Superadmin_mwilde-1337@gmx.net wird schon noch frei sein, und dann diese nehmen um die Benachrichtigungen zu verschicken :wink:

Ah, sollte also kein verhindernder Grund sein, wenn ich es korrekt verstehe.
Ich habe in den “Persönlichen Einstellungen” des Admin-Users die eMail “info@MyDomain.de” drin.
Und möchte eigentlich nun die eMails auch als “info@MyDomain.de” versenden.
(Nur testen wir ja gerade via gmx, was leider ja auch nicht funktionierte).

Ich würde nun wieder die email.config.php auf meine domain-Daten ändern

Hast du diese Domain bei GMX registriert oder betreibst du einen eigenen Mailserver? Du kannst nicht einfach Mails an oder über GMX von beliebigen Servern oder Adressen senden, die werden geblockt.

Wenn du deine eigene Domain für Email nutzen willst musst du entweder deinen eigenen Server betreiben, oder bei einem Provider dafür bezahlen.

1 Like

Da gebe ich dir teilweise recht, denn die Freemailer tolerieren gar keine FROM-Adressen, welche nicht als Alias angelegt sind. Bei gmx.net oder web.de habe ich auch keine solche Adresse angelegt.
Ich kann noreplay@ für alle meine Domains bei FROM eintragen und es funktioniert auch ohne eine Alias-Adresse. Allerdings liegen meine Domains alle bei netcup.

Wichtig ist in meinem Fall, dass der SMTP-Server funktioniert, von welchem ich diese Benachrichtigungen sende und dort kann ich egal welche Domain eintragen. Das ist für den Empfänger, wenn überhaupt, dann nur im Quelltext (Header) der E-Mail zu sehen.

Als ich bei FROM noch “info”, “postmaster” oder “admin” eingetragen hatte, bekam ich ständig irgendwelche Nachfragen. Mit “nextcloud-noreplay” haben sich die Nachfragen tatsächlich wesentlich reduziert.


so sieht es nun wieder aus.

Ich habe eine eigene domain über die ich meine eMails bearbeite/regele.

Ich habe auch bei der hier angezeigten Konfiguration weder in Outlook, noch auf iPhone oder iPad ein Problem. Dort funktioniert das alles einwandfrei (nur muss ich anstelle SSL dort immer STARTTLS auswählen)