php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-11-2019, 17:58
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard PHPMailer mit Plesk Onyx

Hallo,


ich hab eine Frage.

Ich habe folgendes Skript für meine Webseite geschrieben, das den PHPMailer nutzt:


Code:
$mail = new PHPMailer;             

$mail->isSMTP();             

$mail->SMTPDebug = 1; # 0 off, 1 client, 2 client y server             

$mail->CharSet  = 'UTF-8';             

$mail->Host = 'mail.....de';             

$mail->Port = 25;             

$mail->SMTPSecure = 'tls'; # SSL is deprecated             

$mail->SMTPOptions = array (                 

   'ssl' => array(                     

   'verify_peer'  => true,                     

   'verify_depth' => 3,                     

   'allow_self_signed' => true,                     

   'peer_name' => 'Plesk',               

));             

$mail->SMTPAuth = true;            

$mail->Username = 'mail@....de';             

$mail->Password = '...';                          //Recipients             

$mail->setFrom($_POST['email'], $_POST['fullname']);             

$mail->addReplyTo($_POST['email'], $_POST['fullname']);                          //Content             

$mail->isHTML(true);                                  // Set email format to HTML             

$mail->Subject = 'Anfrage vom ' . date("d.m.Y H:i");            

$mail->Body    = utf8_decode(nl2br($_POST['message']));             //$mail->AltBody = utf8_decode($_POST['message']);                          

$mail->send();
Dieser Code ist mit try-/catch umschlossen.

Wenn ich nun das Skript laufen lasse, bekomme ich keine Fehlermeldung.

Allerdings kommt nichts beim Empfänger an. Keine einzige Email kommt von dem PHP Skript bei mir an. Andere E-Mails gehen, wie zum Beispiel Google Mail, etc.

Nun nutze ich Plesk Onyx für den Webserver (eine Automatisierungssoftware für Server). Könnte da ein Zusammenhang liegen? Wenn ja, was muss ich tun?

Ich bin neu in Plesk...

Geändert von ubik89 (17-11-2019 um 18:06 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 17-11-2019, 22:54
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Dreh das Debugging von PHPMailer voll auf und schau nach, was passiert.
Mit Zitat antworten
  #3 (permalink)  
Alt 18-11-2019, 16:09
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Dreh das Debugging von PHPMailer voll auf und schau nach, was passiert.

Hallo,


hab ich gemacht. Sowohl


Code:
$mail->SMTPDebug = 2;

als auch



Code:
$mail->SMTPDebug = 1;

liefern keine Fehler.


Es scheint so, als ob die E-Mail gesendet wurde, aber nicht ankommt. Ich habe auch keinen Spam Filter angeschaltet oder ähnliches.
Mit Zitat antworten
  #4 (permalink)  
Alt 18-11-2019, 16:45
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ubik89 Beitrag anzeigen
liefern keine Fehler.
Sondern? Was exakt ist die Debug-Ausgabe?
Mit Zitat antworten
  #5 (permalink)  
Alt 18-11-2019, 16:47
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard

Es wird nichts ausgegeben... Hab alle Debug Mode ausprobiert.


Es scheint so, als ob die E-Mail gesendet wurdet wurde, aber nichts kommt am Server an.
Mit Zitat antworten
  #6 (permalink)  
Alt 18-11-2019, 17:46
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ubik89 Beitrag anzeigen
Es wird nichts ausgegeben... Hab alle Debug Mode ausprobiert.
Dann wird der Code wohl nicht ausgeführt.

Zitat:
Zitat von ubik89 Beitrag anzeigen
Es scheint so, als ob die E-Mail gesendet wurdet wurde, aber nichts kommt am Server an.
Nein, wenn die Mail gesendet wird, gibt es auch Debug-Ausgaben mit einer Erfolgsmeldung. Da das nicht der Fall ist, wird wohl auch nichts versendet.
Mit Zitat antworten
  #7 (permalink)  
Alt 18-11-2019, 18:17
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard

Okay...


Aber warum wird dann keine Exception ausgeworfen? Eigentlich habe ich den Code folgendermaßen mit try-catch umrandet:


Code:
$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
        try {
            //Server settings
            
            $mail = new PHPMailer;
            $mail->isSMTP();
            $mail->SMTPDebug = 2; # 0 off, 1 client, 2 client y server
            $mail->CharSet  = 'UTF-8';
            $mail->Host = 'mail.....de';
            $mail->Port = 25;
            $mail->SMTPSecure = 'tls'; # SSL is deprecated
            $mail->SMTPOptions = array (
                'ssl' => array(
                    'verify_peer'  => true,
                    'verify_depth' => 3,
                    'allow_self_signed' => true,
                    'peer_name' => 'Plesk',
                )
            );
            $mail->SMTPAuth = true;
            $mail->Username = 'mail@....de';
            $mail->Password = '...';
           
            //Recipients
            $mail->setFrom($_POST['email'], $_POST['fullname']);
            $mail->addReplyTo($_POST['email'], $_POST['fullname']);
            
            //Content
            $mail->isHTML(true);                                  // Set email format to HTML
            $mail->Subject = 'Anfrage vom ' . date("d.m.Y H:i");
            $mail->Body    = utf8_decode(nl2br($_POST['message']));
            //$mail->AltBody = utf8_decode($_POST['message']);
            
            $mail->send();
            
            $error = false;
        } catch (Exception $e) {
            
            $error = true;
        }
Wenn $error = false ist, dann wird auf meiner Webseite angezeigt, dass die E-Mail gesendet wurde.


Kann mir jemand helfen, den PHP Code richtig zu schreiben, dass die E-Mail trotzdem gesendet wird?


Ich hab ein Ubuntu 18.04 mit Plesk Onyx am Laufen. Der vServer liegt bei Strato.


Die E-Mailkonfiguration ist SMTP-mäßig auf StartTLS eingestellt und die Verschlüsselung für das Passwort ist md5-digest (so steht es jedenfalls in meinem Mailclienten Evolution). Die IP Adresse ist gewhitelistet.

Geändert von ubik89 (18-11-2019 um 18:23 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 18-11-2019, 22:23
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Weil du $mail mit new PHPMailer() und nicht mit new PHPMailer(true) befüllst.

Und was ist jetzt mit den Debug-Ausgaben?
Mit Zitat antworten
  #9 (permalink)  
Alt 19-11-2019, 14:49
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,


die Debug Ausgabe ist jetzt:


Code:
SMTP -> FROM SERVER:220 ....net ESMTP Postfix (Ubuntu)  
SMTP -> FROM SERVER: 250-....net 250-PIPELINING 250-SIZE 10240000 250-ETRN 250-STARTTLS 250-AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 SMTPUTF8  
SMTP -> FROM SERVER:220 2.0.0 Ready to start TLS  

Warning:  stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in ...

Und hinter der Meldung gibt es eine Zeile komische Zeichen...
Mit Zitat antworten
  #10 (permalink)  
Alt 19-11-2019, 16:33
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Wie wärs mit ein wenig Selbstinitiative?

Erster Treffer mit Google:

https://stackoverflow.com/a/28759959
Mit Zitat antworten
  #11 (permalink)  
Alt 19-11-2019, 17:33
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard

Leider hat das nicht geholfen.


Aber es muss doch an Plesk Onyx liegen. Das ist eine Software für eine Serververwaltung.


Wobei, ich habe die IP whitegelistet und es funktioniert trotzdem nicht...
Mit Zitat antworten
  #12 (permalink)  
Alt 19-11-2019, 17:41
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Was hat das bitte mit irgendwelchen Whitelists zu tun?

Entweder ist SSL auf deinem Webserver oder dem Mail-Server nicht richtig konfiguriert. Von SSL-Konfigurationen habe ich allerdings überhaupt keine Ahnung. Ich lass das immer Server-Admins machen, die Ahnung von der Materie haben.

Geändert von h3ll (19-11-2019 um 17:52 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 19-11-2019, 17:51
ubik89
 Registrierter Benutzer
Links : Onlinestatus : ubik89 ist offline
Registriert seit: Nov 2017
Beiträge: 8
ubik89 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,


das Problem hat sich gelöst.

Danke für den Hinweis für SSL Zertifikate.


Der E-Mailserver hatte kein Zertifikat. Ohne Zertifikate keine E-Mails...

Vielen Dank!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit phpmailer (mailserver) hanow_de Archiv / Trash 1 10-09-2010 14:01
MySQL mit Plesk geht (anscheinend von XAMPP) nicht mehr blade205 SQL / Datenbanken 1 02-12-2009 10:12
Newsletterversand mit phpmailer Quetschi BRAINSTORMING PHP/SQL/HTML/JS/CSS 42 08-12-2008 13:31
[Funktion] Nach neuistallation mit Plesk 7.5 geht die Hp nicht mehr :-( Gordi007 PHP Developer Forum 5 16-02-2005 15:03
Problem mit phpmailer bernd7 PHP Developer Forum 11 11-06-2004 00:22

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:55 Uhr.