Ankündigung

Einklappen
Keine Ankündigung bisher.

phpmailer SMTP connect() failed

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • phpmailer SMTP connect() failed

    Hallo Forum,

    das ist meine erste Anfänger-Anfrage hier und ich hoffe, Ihr könnt mir weiter helfen, oder zumindest Hinweise geben, wo ich zu suchen habe.

    Um es eingangs zusammenzufassen: Mit dem nachfolgenden Skript möchte ich per phpmailer 5 eine (Test-)Mail von meinem Arcor Account versenden. Auf meinem lokalen Rechner (Win7/64Bit/Apache 2.2.21/PHP 5.3. läuft das Skript problemlos durch.

    Lade ich es auf einen Windows Server 2008R2 hoch (64Bit/Apache 2.2.21/PHP 5.3., erscheint folgende Fehlermeldung:

    Code:
    Mailer Error: SMTP connect() failed.Not sent:
     Array (     [type] => 2     [message] => stream_socket_client() [function.stream-socket-client]: unable to connect to mail.arcor.de:25 (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte. )     [file] => serverpfad:\Web\www\PHPMailer\class.smtp.php     [line] => 235 )
    Apache- und PHP- Konfigurationen sind auf beiden Rechnern nahezu identisch. Wo muss ich suchen, was sollte ich den Server-Admin fragen? Hier nun das Skript:

    PHP-Code:
    <?php
    require_once('../PHPMailer/class.phpmailer.php');
    require_once(
    '../PHPMailer/class.smtp.php');
    $pw $_GET['pw']; //Passwort für Testzwecke
    $deb $_GET['deb']; //Debug Level für Testzwecke
    $mailText "";
    $textdatei fopen("MAILTEXT.txt","r");
    while(!
    feof($textdatei))
       {
       
    $mailText $mailText fgets($textdatei,1024);
       }
    fclose($textdatei);
    //Mailversand
    $mail = new PHPMailer();
    $mailText $mailText "<br>";
    $mailText $mailText "Ihre Bemerkung:<br>";
    $mailText $mailText "Anhang:<br>";
    $body $mailText;

    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host       "mail.arcor.de"// SMTP server
    $mail->SMTPDebug  $deb;  // enables SMTP debug information (for testing)
                                               // 1 = errors and messages
                                               // 2 = messages only
    $mail->SMTPAuth   true;                  // enable SMTP authentication
    $mail->Host       "mail.arcor.de"// sets the SMTP server
    $mail->Port       25;                    // set the SMTP port
    $mail->Username   "meine.adresse@arcor.de"// SMTP account username
    $mail->Password   $pw;        // SMTP account password
    $mail->SetFrom('meine.adresse@arcor.de''vonmir');
    $mail->AddReplyTo("meine.adresse@arcor.de","vonmir");
    $mail->Subject    "Testmail ";
    $mail->MsgHTML($body);
    $address "empfaenger@xyz.de";
    echo 
    "$address<p>";
    $mail->AddAddress($address"max muster");
    $mail->AddCC('cc@adresse.de');
    if(!
    $mail->Send())
    {
      echo 
    "Mailer Error: " $mail->ErrorInfo;
      echo 
    'Not sent: <pre>'.print_r(error_get_last(), true).'</pre>';
    } else
    {
       echo 
    "sendung ok";
    }
    ?>
    Die Adressen sind im realen Skript Skript natürlich anders und funktionieren wie gesagt auf meinen lokalen Maschinen.

    Auf dem Produktionsserver (win2008R2) habe ich keine Windows-Admin-Rechte. Ich hoffe, dass es dort nur eine Einstellungsfarge ist???

    Ich war so froh, dass ich das lokal so hinbekommen habe. Aber von sockets etc hab ich leider keinen blassen Schimmer.

    Vielen Dank im Voraus!

    Peter

  • #2
    Der SMTP-Server möchte keine Verbindung von deinem Server. Frag den Betreiber des SMTP-Servers, warum das so ist, oder versuche mal einen anderen SMTP-Server.

    Eventuell funkt auch eine Firewall dazwischen.

    Kommentar


    • #3
      Anmerkung.. Du übergibst da wohl was falsches beim $deb ..

      PHP-Code:
      $pw $_GET['pw']; //Passwort für Testzwecke
      $deb $_GET['pw']; //Debug Level für Testzwecke

      // ...

      $mail->SMTPDebug  $deb;  // enables SMTP debug information (for testing)
                                                 // 1 = errors and messages
                                                 // 2 = messages only 
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Danke erst malfür Eure Infos

        Zitat von hellbringer Beitrag anzeigen
        Der SMTP-Server möchte keine Verbindung von deinem Server. Frag den Betreiber des SMTP-Servers, warum das so ist, oder versuche mal einen anderen SMTP-Server.

        Eventuell funkt auch eine Firewall dazwischen.
        Ich werde mal meinen GMX-Account testen. Andererseits habe ich lokal nur eine ganz einfache Installation auf localhost und damit kommt Arcor zurecht, würde sich die Frage stellen, warum nicht mit dem "richtigen" Server?
        Probieren werde ich es dennoch.

        Mit Firewall meinst Du die auf dem Produktionsserver?

        Zitat von hausl Beitrag anzeigen
        Anmerkung.. Du übergibst da wohl was falsches beim $deb ..
        Danke, habe es hier im Forumtext korrigiert, war ein Tipfehler hier im Forum
        Vielen Dank schon mal.
        Peter

        Kommentar


        • #5
          Zitat von psciga Beitrag anzeigen
          Andererseits habe ich lokal nur eine ganz einfache Installation auf localhost und damit kommt Arcor zurecht, würde sich die Frage stellen, warum nicht mit dem "richtigen" Server?
          Probieren werde ich es dennoch.
          Vielleicht liegt der Server in der falschen IP-Range.

          Zitat von psciga Beitrag anzeigen
          Mit Firewall meinst Du die auf dem Produktionsserver?
          Nicht nur, aber da würde ich als erstes schauen.

          Kommentar


          • #6
            hellbringer : Danke für die Hinweise. Das mit der Firewall werde ich morgen gleich erst mal bei dem Admin anfragen. Was die IP-Range betrifft ... Wenn ich die IP-Adresse bei iplocation.net eingebe sehe ich den Klarnamen des Betreibers hier in Deutschland. Das sollte also kein wirkliches Problem sein, hoffe ich wenigstens.

            Mal schauen, ob mir der Admin weiter helfen kann.

            Kommentar


            • #7
              Zitat von psciga Beitrag anzeigen
              Was die IP-Range betrifft ... Wenn ich die IP-Adresse bei iplocation.net eingebe sehe ich den Klarnamen des Betreibers hier in Deutschland.
              Was hat das damit zu tun?

              Kommentar


              • #8
                Zitat von hellbringer Beitrag anzeigen

                Was hat das damit zu tun?
                Sorry, weiß ich auch nicht wirklich, hätte aber vermutet, dass Mailanbieter unter anderem auf dieser Basis Verbindungsversuche von außen analysieren und entscheiden, ob sie die zulassen oder nicht.

                Kommentar


                • #9
                  Hbe das Skript jetzt mit einem anderen SMTP Account getestet. Lokal alles okay, auf dem Server die selbe Fehlermeldung, wie mit dem Arcor Account.

                  Kommentar


                  • #10
                    Sieht erst mal aus als würde kein Zusammenhang mit PHP bestehen. Mach doch einfach mal vom Server aus eine telnet Verbindung auf den entfernten SMTP server.

                    Edit: Also in etwa so:

                    telnet SERVERNAME 25

                    Wenn der Server ordentlich antwortet:
                    Conntected to SERVERNAME...

                    Liegt das Problem doch auf PHP seite.

                    Wenn das auch nicht geht liegt es an der Firewall oder möglicherweise auch an einem falschen/kaputten DNS

                    Gruß, Ulf
                    PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

                    Kommentar


                    • #11
                      Wenn du mit PHP 5.3 beginnst, dann tust du mir etwas leid. Aktualisiere auf PHP 5.6, dann hast du etwas, das auch offiziell unterstützt wird.

                      Es könnte auch daran liegen, das der SMTP-Port 25 der traditionelle Port ist. Vermutlich musst du einmal mit 587 probieren, der auch SSL/TLS und Authentifizierung unterstützt. Ich kenne keinen Mailserver, der Mails von unauthentifizierten Absendern versendet.
                      [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                      Kommentar


                      • #12
                        Hallo,

                        und vorerst danke für Eure Bemühungen.

                        Zitat von ChristianK Beitrag anzeigen
                        Wenn du mit PHP 5.3 beginnst, dann tust du mir etwas leid. Aktualisiere auf PHP 5.6, dann hast du etwas, das auch offiziell unterstützt wird.

                        Es könnte auch daran liegen, das der SMTP-Port 25 der traditionelle Port ist. Vermutlich musst du einmal mit 587 probieren, der auch SSL/TLS und Authentifizierung unterstützt. Ich kenne keinen Mailserver, der Mails von unauthentifizierten Absendern versendet.
                        PHP 5.3 ist eine spezielle Vorgabe. Ports und SSL/TLS habe ich auch probiert. Ebenso ohne Erfolg.

                        ABER: Endlich habe ich den Admin erreicht und vorerst erfahren, dass auch noch eine E-Mail-Security auf dem Server eingerichtet wurde. Er versprch mir, sich in den nächsten Tagen drum zu kümmern.

                        Ich werde berichten.

                        Kommentar


                        • #13
                          Rein aus Interesse, wieso ist PHP 5.3 eine Vorgabe?
                          [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                          Kommentar


                          • #14
                            Zitat von ChristianK Beitrag anzeigen
                            Rein aus Interesse, wieso ist PHP 5.3 eine Vorgabe?
                            Weil das MapGuide OS (MGOS) verlangt. Mittlerweile gibt es zwar eine neuere MGOS Version für eine höhere PHP Version, aber da hat sich (MGOS seitig) viel in der API geändert und das tue ich mir erst Ende des Jahres an. Außerdem gibt es noch Abhängigeiten zu SQL Anywhere (unterstützt nur ganz spezielle PHP-Versionen).

                            Kommentar


                            • #15
                              Zitat von psciga Beitrag anzeigen
                              Ich werde berichten.
                              Wie versprochen, hier die Auflösung: Es lag an den Servereinstellungen (Firewall, E-Mail-Security, ...). Nachdem das angepaßt wurde funktioniert alles. Nochmal danke für Eure Hilfe!

                              Kommentar

                              Lädt...
                              X