Page 1 of 2

PHPMailer - keine Verbindung zum SMTP-Server

Posted: Wed 17. Jan 2018, 09:54
by Mmicha
Hallo,

ich habe das Problem, dass ein PHPMailer auf der KeyMachine keine Verbindung zum SMTP-Server herstellen kann,
und kann somit keine Mails versenden. Alles ist auf der gleichen Maschine eingerichtet.

Eigentlich sollte alles korrekt eingerichtet sein.

Mögliche Fehler könnten DNS-Probleme sein ?
Oder ist eine extra-Einstellung notwendig, dass Webseiten auf den lokalen SMTP-Server zugreifen dürfen ?

Micha

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Wed 17. Jan 2018, 09:58
by Martin
Hallo,

localhost ist standardmäßig ohne Authentifizierung zum Versand in der Lage. Sofern Authentifizierung genutzt wird, so muss hier natürlich ebenfalls TLS genutzt werden.

Nähere Informationen sollte das Maillog liefern, dies am besten einmal mitlaufen lassen (tail -f) und dann einen Versandversuch durchführen.

PS: Verschoben in Bedienung und Nutzung, da dies kein KeyHelp Fehler ist.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Wed 17. Jan 2018, 10:20
by Mmicha
Hallo,

ich möchte auf Port 587 und mit TLS den PHPMailer verwenden.
Username = mailadresse und das vergebene Passwort ist gesetzt.

Im mail-Log finde ich folgendes:
(Hostname und IP-Adresse sind von meinem Server, xxxx ist der NAme meines Servers)

Code: Select all

Jan 17 10:15:23 xxxx postfix/submission/smtpd[20862]: warning: TLS library problem: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:s3_pkt.c:1487:SSL alert number 48:
Jan 17 10:15:23 xxxx postfix/submission/smtpd[20862]: lost connection after STARTTLS from HOSTNAME[IP-ADRESS]
Jan 17 10:15:23 xxxx postfix/submission/smtpd[20862]: disconnect from HOSTNAME[IP-ADRESS] ehlo=1 starttls=0/1 commands=1/2
Was könnte dies bedeuten ?

Danke.
Micha

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Wed 17. Jan 2018, 10:25
by Martin
Hallo,

handelt es sich um eine aktuelle Version von PHPMailer? Die Meldung kann bedeuten, dass hier versucht wird einen SSL Handshake nach SSLv3 durchzuführen, welches der Server natürlich aus Sicherheitsgründen nicht mehr unterstützt.

Wie geschrieben wäre es einem lokalen Script auch möglich hier im Zweifel ohne gesonderte Authentifikation zu senden.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Wed 17. Jan 2018, 10:53
by Mmicha
Hallo,

der PHPMailer hat die Version 5.2.22.

Ich versuche eine aktuellere Version zu verwenden ...

Danke.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Wed 17. Jan 2018, 15:40
by select name from me;
Das funktioniert problemlos. Zeig mal Deinen Code. Dann finden wir den Fehler sicher.

Re: PHPMailer - keine Verbindung zum SMTP-Server [gelöst]

Posted: Thu 18. Jan 2018, 08:48
by Mmicha
Ich habe nun die aktuelle Version eingebaut. 6.0.3
Der PHPMailer ist in einem Projekt integriert welches Newsletter versenden kann.
Dazu gehört auch ein Test-Skript, welches alle möglichen Verbindungsarten zum Mail-Server testet.
(Verschiedene Ports, verschiedene Security-Arten)

Auch wenn ich im Config den Inhalt von Benutzername, das Passwort und die Security-Art (SSL,TLS) leere,
was eigentlich dazu führen sollte, dass er die Verbindung zum Mail-Server ohne Passwort (als localhost möglich)
aufbaut, hat er IMMER TLS verwendet.

Nachdem ich im Code des PHPMailer diese Stellen auskommentiert habe, funktioniert zumindest die Verbindung ohne
Passwort, und das Projekt kann Newsletter versenden.

Mit TLS aber geht es nicht, ich bekomme immer die oben genannten Fehler.

Da mir die Verbindung ohne Passwort ausreicht, habe ich diesen Topic als gelöst markiert,
jedoch wäre es toll, wenn auch TLS funktionieren würde.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Thu 18. Jan 2018, 13:00
by select name from me;
Wenn ich mich nicht irre, funktioniert der Zugriff mit tls unter Port 587. Sowohl von "lokal" als auch von extern.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Thu 18. Jan 2018, 13:30
by Mmicha
Kann es daran liegen ?

Wenn ich folgendes in der Shell ausführe:

php -i | grep cafile

erhalte ich folgenden Output:

openssl.cafile => no value => no value

Muss in der php.ini die Location des CA hinterlegt sein damit der PHPMailer mit TLS funktioniert ?

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Thu 18. Jan 2018, 15:27
by select name from me;
Da bin ich im Detail überfragt. Aber eher nicht.

php ist vermutlich das PHP-CLI Binary. Nicht das Binary, dass Dein Webserver verwendet.

Auf Ubuntu 14.x mit Keyhelp, PHP der Distribution ohne weitere Anpassungen funktioniert es.

Ich habe aktuell kein Testsystem zur Hand. Du kannst das hier mal testen:

Code: Select all

<?php

use PHPMailer\PHPMailer\PHPMailer;
require '../vendor/autoload.php';

$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Host = 'dein.keyhelp-server.tld';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'user@dein.keyhelp-server.tld';
$mail->Password = 'yourpassword';
$mail->setFrom('user@dein.keyhelp-server.tld', 'First Last');
$mail->addAddress('whoto@example.com', 'John Doe');
$mail->Subject = 'PHPMailer SMTP test';
$mail->Body = '12345';
if (!$mail->send()) {
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message sent!';
}

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Fri 19. Jan 2018, 08:53
by Mmicha
Hallo Christian,

vielen Dank für deinen Eintrag.

Auch hier bekomme ich den obigen TLS-Error.
Hier ist Ubuntu 16.04 im Einsatz. Bei der Domain mit PHP 7.1 und 5.6 getestet.
In allen Fällen kommt dieser TLS-Fehler.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Fri 19. Jan 2018, 11:08
by select name from me;
Das ist interessant. Sind das die PHP Versionen des Betriebssystems oder von Keyhelp?

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Fri 19. Jan 2018, 12:37
by Mmicha
PHP 7.0 ist vom Betriebssystem , aber auch mit diesem habe ich den TLS Fehler.

btw:
Thunderbird als Mailclient mit TLS funktioniert ohne Probleme. (Mit diesem Account!)

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Thu 25. Jan 2018, 12:20
by Martin
Hallo,

Nachtrag von meiner Seite, da wir dieses Problem aktuell auch bei einem Kunden hatten und dies entsprechend bei diesem lösen konnte.

Ursache war hier die Nutzung eines Zertifikates, welches auf die Symantec Root CA verwies. Diese wurde offenbar bei aktuellen Debian/Ubuntu bereits distrusted. Nach Umstellung auf ein Let's Encrypt Zertifikat verschwand der Fehler.

Re: PHPMailer - keine Verbindung zum SMTP-Server

Posted: Thu 25. Jan 2018, 12:34
by select name from me;
Hallo Martin, danke für die Antwort. Das beruhigt mich. :mrgreen: