PHPMailer - keine Verbindung zum SMTP-Server  [GELÖST]

Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

PHPMailer - keine Verbindung zum SMTP-Server

Post 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
Viele Grüße
Micha
User avatar
Martin
Posts: 984
Joined: Wed 20. Jan 2016, 00:43

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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.
Viele Grüße,
Martin
Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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
Viele Grüße
Micha
User avatar
Martin
Posts: 984
Joined: Wed 20. Jan 2016, 00:43

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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.
Viele Grüße,
Martin
Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post by Mmicha »

Hallo,

der PHPMailer hat die Version 5.2.22.

Ich versuche eine aktuellere Version zu verwenden ...

Danke.
Viele Grüße
Micha
select name from me;
Posts: 588
Joined: Tue 9. Feb 2016, 16:44

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post by select name from me; »

Das funktioniert problemlos. Zeig mal Deinen Code. Dann finden wir den Fehler sicher.
Viele Grüße, Christian
Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

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

Post 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.
Viele Grüße
Micha
select name from me;
Posts: 588
Joined: Tue 9. Feb 2016, 16:44

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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.
Viele Grüße, Christian
Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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 ?
Viele Grüße
Micha
select name from me;
Posts: 588
Joined: Tue 9. Feb 2016, 16:44

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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!';
}
Viele Grüße, Christian
Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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.
Viele Grüße
Micha
select name from me;
Posts: 588
Joined: Tue 9. Feb 2016, 16:44

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post by select name from me; »

Das ist interessant. Sind das die PHP Versionen des Betriebssystems oder von Keyhelp?
Viele Grüße, Christian
Mmicha
Posts: 56
Joined: Wed 11. May 2016, 20:56

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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!)
Viele Grüße
Micha
User avatar
Martin
Posts: 984
Joined: Wed 20. Jan 2016, 00:43

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post 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.
Viele Grüße,
Martin
select name from me;
Posts: 588
Joined: Tue 9. Feb 2016, 16:44

Re: PHPMailer - keine Verbindung zum SMTP-Server

Post by select name from me; »

Hallo Martin, danke für die Antwort. Das beruhigt mich. :mrgreen:
Viele Grüße, Christian
Locked