PHPMailer - keine Verbindung zum SMTP-Server [GELÖST]
PHPMailer - keine Verbindung zum SMTP-Server
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
Micha
Re: PHPMailer - keine Verbindung zum SMTP-Server
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.
Martin
Re: PHPMailer - keine Verbindung zum SMTP-Server
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
Danke.
Micha
Micha
Re: PHPMailer - keine Verbindung zum SMTP-Server
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.
Martin
Re: PHPMailer - keine Verbindung zum SMTP-Server
der PHPMailer hat die Version 5.2.22.
Ich versuche eine aktuellere Version zu verwenden ...
Danke.
Micha
-
- Posts: 588
- Joined: Tue 9. Feb 2016, 16:44
Re: PHPMailer - keine Verbindung zum SMTP-Server
Re: PHPMailer - keine Verbindung zum SMTP-Server [gelöst]
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.
Micha
-
- Posts: 588
- Joined: Tue 9. Feb 2016, 16:44
Re: PHPMailer - keine Verbindung zum SMTP-Server
Re: PHPMailer - keine Verbindung zum SMTP-Server
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 ?
Micha
-
- Posts: 588
- Joined: Tue 9. Feb 2016, 16:44
Re: PHPMailer - keine Verbindung zum SMTP-Server
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
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.
Micha
-
- Posts: 588
- Joined: Tue 9. Feb 2016, 16:44
Re: PHPMailer - keine Verbindung zum SMTP-Server
Re: PHPMailer - keine Verbindung zum SMTP-Server
btw:
Thunderbird als Mailclient mit TLS funktioniert ohne Probleme. (Mit diesem Account!)
Micha
Re: PHPMailer - keine Verbindung zum SMTP-Server
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.
Martin
-
- Posts: 588
- Joined: Tue 9. Feb 2016, 16:44
Re: PHPMailer - keine Verbindung zum SMTP-Server
