Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] SMTP -> ERROR: Failed to connect to server: Connection refused (111)

Einklappen

Neue Werbung 2019

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

  • [Erledigt] SMTP -> ERROR: Failed to connect to server: Connection refused (111)

    Hi Leute!

    Ich hab leider nicht so viel Erfahrung mit PHP, muss jetzt aber gezwungener Maßen damit ein Bestellformular erstellen.

    Ich habe ein Formular erstellt und phpMailer eingebunden, leider bekomme ich immer folgende fehlermeldung wenn es eine mail abschicken muss:

    SMTP -> ERROR: Failed to connect to server: Connection refused (111)

    Ich dachte es liegt an meinem Code also habe ich es mit folgendem einfachen code ausprobiert:
    PHP-Code:
    <?
      //Klasse einbinden
      require('PHPMailer_v2.0.4/class.phpmailer.php');
     
      //Instanz von PHPMailer bilden
      $mail = new PHPMailer();
     
      $mail->SMTPDebug = 1;

        // Phpmailer auf SMTP stellen
    $mail->IsSMTP();    
     
      // SMTP Host
    $mail->Host     = "smtp.1und1.de";  

        // SMTP Authentication definieren                        
    $mail->SMTPAuth = true;

      // SMTP Benutzername            
    $mail->Username = "username@domain.de";
     
        // SMTP Passwort        
    $mail->Password = "******";
     
      //Absenderadresse der Email setzen
      $mail->From = "myadress@domain.net";
     
      //Name des Abenders setzen
      $mail->FromName = "TanMar Tutorials";
     
      //Empfängeradresse setzen
      $mail->AddAddress("test@domain.com");
     
      //Betreff der Email setzen
      $mail->Subject = "Die erste Mail";
     
      //Text der EMail setzen
      $mail->Body = "Hallo! \n\n Dies ist die erste Email mit PHPMailer!";
     
      //EMail senden und überprüfen ob sie versandt wurde
      if(!$mail->Send())
      {
         //$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
         echo "Die Email konnte nicht gesendet werden";
         echo "Fehler: " . $mail->ErrorInfo;
      }
      else
      {
         //$mail->Send() liefert TRUE zurück: Die Email ist unterwegs
         echo "Die Email wurde versandt.";
      }
    ?>
    Leider kommt auch hier die selbe Fehlermeldung.

    Die Logindaten die ich verwende sind zu 100% richtig, da ich auch mit ihnen mein smtp am Handy eingerichtet habe.

    Hat jemand eine Idee woran das liegen kann? denn mit meinem web und yahoo account ist das selbe problem.

    Liegt es vielleicht an 1und1 ??


  • #2
    Connection refused (111)

    Der Server weigert sich, warscheinlich verlangt er eine Authentifzierung bevor du Mails darüber versenden darfst. Also einmal Mails abrufen (dafür musst du dich authentifizieren).

    edit: Server könnte auch down sein, oder du gehst über einen Proxy ins Netz...
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Mal geraten: SSL, TLS, Port, ..?
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        Also sehr sehr komisch ich machs jetzt über die isMail() funktion, da funktioniert alles einwandfrei, allerdings habe ich ein problem mit Umlauten ich poste mal den Code:
        PHP-Code:
        <HTML>
        <HEAD>
        <TITLE>Kontaktformular in PHP</TITLE>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html" charset=ISO-8859-1>

        <style>
        <!--
        body {
           SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
        }

        input, textarea, select {
           border: 2px solid #333333;
           background: #FFFFFF;
           font: bold 11px Verdana, Arial, Helvetica, sans-serif;
           color: #000000;

        }
        td {
           font: bold 14px Verdana, Arial, Helvetica, sans-serif;
           color: #000000;
        }
        //-->
        </style>
        </HEAD>
        <BODY BGCOLOR=#FFFFFF>

        <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
           <TR>
                  <td align="center">
                    <font size="6">Kontakt</font>
                  </td>
            <tr>
            <td>
        <?php
          
        //Klasse einbinden
          
        require('PHPMailer_v2.0.4/class.phpmailer.php');
          
          
        //Instanz von PHPMailer bilden
          
        $mail = new PHPMailer();  
          
                        
          
        # ------------------------ #
        # CONFIG
        # ------------------------ #

              // Phpmailer auf Mail stellen
        $mail->IsMail();    
           
            
        // Sprache der verschickten Email
        $mail->SetLanguage("de""language/");  

            
        // Wortumbruch nach x Zeichen
        //$mail->WordWrap = 50; 

             // Email als HTML
        //$mail->IsHTML(true);  

            // Kodierung der Email festlegen
        $mail->CharSet 'UTF-8';

        # ------------------------ #
        # END CONFIG
        # ------------------------ # 
          
          
          
          
        function mailcheckDNS($mail) {
            
        $email htmlspecialchars($mail);
            
        $r false;

            if(
        preg_match('/(.*?)\@(.*?)\.(\w){2,6}/i'$email)) {
                
        $split explode('@'$email);
                
        $split2 explode('.'$split[1]);
                if(
        preg_match('/([a-z]){3,64}/i'$split2[0])) {
                     if(
        preg_match('/([a-z0-9\!\"\$\&\/\(\)\?\~\#\+\.\:\_\-]+){1,64}[^\@]/i'$split[0])) {
                          
        $MXCheck getmxrr($split[1], &$mxhosts);
                        if(!empty(
        $MXCheck)) {
                              
        $r true;
                        }
                      }
                }
            }
            return 
        $r;
        }

        // Allgemeine Variablen
        $name_tag[0] = "Sonntag";
        $name_tag[1] = "Montag";
        $name_tag[2] = "Dienstag";
        $name_tag[3] = "Mittwoch";
        $name_tag[4] = "Donnerstag";
        $name_tag[5] = "Freitag";
        $name_tag[6] = "Samstag";
        $num_tag   date"w");
        $day      $name_tag[$num_tag];
        $year      date("Y");
        $day_num   date("d");
        $month      date("m");
        $time      = (date("H:i"));

        $empfaenger "bestellung@my-butler.net"//Die eigene emailadresse
        $subject01 "Bestellung von" $vorname " " $namer//Der Betreff der Email
        $subject02 "Ihre Bestellung " $vorname " " $namer//Betreff der Bestätigungsmail


        //Meine Test-Variablen:
        $zusatz "Ihre Mail wird so schnell wie möglich bearbeitet.
        Bei Fragen schreiben Sie an: mailto:
        $empfaenger";


        if (
        $flag==1//Wenn das Fromular ausgefüllt wurde.
        {
            
        //Die Eingaben prüfen
            
        if(!$namer){$fehler="Bitte geben Sie Ihren Namen ein<br>";}
            if(!
        $vorname){$fehler.="Bitte geben Sie Ihren Vornamen ein<br>";}
            if(!
        $strasse){$fehler.="Bitte geben Sie Ihre Strasse ein<br>";}
            if(!
        $hn){$fehler.="Bitte geben Sie Ihre Hausnummer ein<br>";}
            if (!
        ereg("[0-9]",$hn)){$fehler.="Die angegebene Hausnummer ist ungültig";}
            if(
        $plz == ""){$fehler.="Bitte geben Sie Ihre Postleitzahl<br>";}
            if (!
        ereg("[0-9]{5}",$plz)){$fehler.="Die angegebene Postleitzahl ist ungültig";}
            if(!
        $ort){$fehler.="Bitte geben Sie Ihren Ort ein<br>";}
            if(!
        mailcheckDNS($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
            if(!
        $email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
            if(!
        $text) {$fehler.="Bitte eine Nachricht eingeben<br>";}
            if(
        $tel == ""){$fehler.="Bitte geben Sie Ihre Telefonnummer ein<br>";}
            if (!
        ereg("[0-9]",$tel)){$fehler.="Die angegebene Telefonnummer ist ungültig";}

            if(
        $fehler//Bei Fehlern, Meldung ausgeben
            
        {
                
        $meldung="<b>" .$fehler"</b>";
                unset(
        $flag);
                echo 
        "<font color='red'>Es sind folgede Fehler aufgetreten: <br> " .$meldung"</font>";
            }
            else 
        //Wenn es keine Fehler gibt kann ja gemailt werden.
            
        {
              
        //Der Body für die Mail
              
        $body01 "Nachricht gesendet am $day$day_num.$month.$year um $time:
        ----------------------------------------------------------------
        Anrede           : 
        $sex
        Vorname        : 
        $vorname
        Name           : 
        $namer
        Strasse        : 
        $strasse
        Hausnummer       : 
        $hn
        Postleitzahl   : 
        $plz
        Ort               : 
        $ort
        eMail          : 
        $email
        Telefonnummer  : 
        $tel
        ----------------------------------------------------------------
        Nachricht:
        $text


               //Body für die Bestätigungsmail
               
        $body02 = "Am $day$day_num.$month.$year um $time haben wir folgende Nachricht von Ihnen erhalten:
        -----------------------------------------------------------------------------------
        Anrede           $sex
        Vorname        
        $vorname
        Name           
        $namer
        Strasse        
        $strasse
        Hausnummer       
        $hn
        Postleitzahl   
        $plz
        Ort               
        $ort
        eMail          
        $email
        Telefonnummer  
        $tel
        -----------------------------------------------------------------------------------
        Nachricht:
        $text
        -----------------------------------------------------------------------------------
        Ihre Mail wird so schnell wie möglich bearbeitet.
        Bei Fragen schreiben Sie anmailto:$empfaenger";

        /*
               //Nun kann gemailt werden
               //Erst die Mail an den Webmaster
               mail (
        $empfaenger$subject01$body01, "From:$email");
               //Dann die Bestätigungsmail
               mail (
        $email$subject02$body02, "From:$email");
        */


         ####### Email An Uns Selber ( Auftrags Email) #######
               
                 //Absenderadresse der Email setzen
                  
        $mail->From = "$email";
          
                  //Name des Abenders setzen
                  
        $mail->FromName = $vorname . " " . $namer;
          
                  //Betreff der Email setzen
                  
        $mail->Subject = $subject01;
         
                  //Text der EMail setzen
                  
        $mail->Body = $body01;
          
                //Empfänger setzen
                
        $mail->AddAddress($empfaenger);
         
                 //EMail senden und überprüfen ob sie versandt wurde
                if(!
        $mail->Send())
             {
               //
        $mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
               echo "
        Die Email konnte nicht gesendet werden<br>";
               echo "
        Fehler" . $mail->ErrorInfo;
             }
             else
             {
               //
        $mail->Send() liefert TRUE zurück: Die Email ist unterwegs
               echo "
        Die Email wurde versandt.<br>";
             }
          
             //Empfänger zurücksetzen
             
        $mail->ClearAddresses();
               
             
             ####### BESTAETIGUNGSEMAIL #######
               
                 //Absenderadresse der Email setzen
                  
        $mail->From = "$empfaenger";
          
                  //Name des Abenders setzen
                  
        $mail->FromName = "My Butler Bestellung";
          
                  //Betreff der Email setzen
                  
        $mail->Subject = $subject02;
         
                  //Text der EMail setzen
                  
        $mail->Body = $body02;
          
                //Empfänger setzen
                
        $mail->AddAddress($email);
         
                 //EMail senden und überprüfen ob sie versandt wurde
                if(!
        $mail->Send())
             {
               //
        $mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
               echo "
        Die Email konnte nicht gesendet werden<br>";
               echo "
        Fehler" . $mail->ErrorInfo;
             }
             else
             {
               //
        $mail->Send() liefert TRUE zurück: Die Email ist unterwegs
               echo "
        Die Email wurde versandt.<br>";
             }
          
             
             
               echo "
        Die Mail wurde gesendet.";
            }
        }

        if(!
        $flag) //Formular noch nicht abgesendet
        {
                ?>
               
              <form action='<? echo 
        $PHP_SELF; ?>' method='post' accept-charset="UTF-8" enctype='multipart/form-data' name='form' id="form">
                  <input type="
        hidden" name="flag" id="flag" value=1>
                <p align="
        center">Bitte füllen Sie alles aus<br></p>
                <div align="
        center">
                  <center>
                <table border="
        1" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
                  
        <tr><td>
                        <
        table border="0" cellpadding="4">
                  <
        tr>
                  
        Anrede:
                  <
        td>
                  <
        input type="radio" value="value1" name="sex"Herr
                  
        <input type="radio" value="value2" name="sex"Frau
                  
        </td>
                  </
        tr>
                <
        tr>
                  <
        td>Name:</td>
                  <
        td>
                    <
        input name="namer" type="text" id="namer" size="30" value='<?php echo $namer; ?>'>
                          </
        td>
                </
        tr>
                <
        tr>
                  <
        td>Vorname:</td>
                  <
        td>
                            <
        input name="vorname" type="text" id="vorname" size="30" value='<?php echo $vorname; ?>'>
                          </
        td>
                </
        tr>
                 <
        tr>
                  <
        td>Strasse:</td>
                  <
        td>
                            <
        input name="strasse" type="text" id="strasse" size="30" value='<?php echo $strasse; ?>'>
                          </
        td>
                  <
        td>Hausnummer:</td>
                  <
        td>
                            <
        input name="hn" type="text" id="hn" size="3" value='<?php echo $hn; ?>'>
                          </
        td>
                </
        tr>
                </
        tr>
                 <
        tr>
                  <
        td>Postleitzahl:</td>
                  <
        td>
                            <
        input name="plz" type="text" id="plz" size="5" value='<?php echo $plz; ?>'>
                          </
        td>
                  <
        td>Ort:</td>
                  <
        td>
                            <
        input name="ort" type="text" id="ort" size="30" value='<?php echo $ort; ?>'>
                          </
        td>
                </
        tr>
                <
        tr>
                  <
        td>Emailadresse:</td>
                  <
        td>
                            <
        input name="email" type="text" id="email" size="30" value='<?php echo $email; ?>'>
                          </
        td>
                </
        tr>
                <
        tr>
                  <
        td>Telefonnummer:</td>
                  <
        td>
                            <
        input name="tel" type="text" id="tel" size="30" value='<?php echo $tel; ?>'>
                          </
        td>
                </
        tr>
                <
        tr>
                  <
        td valign="top" class="textb">Nachricht:</td>
                        <
        td>
                            <
        textarea name="text" id="text" cols="50" rows="5"><?php echo $text?></textarea>
                    </td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td><input type="submit" name="Submit" value="Abschicken">
                  </td>
                </tr>
            </table>
                </td></tr>
                </table>
                  </center>
                </div>
              </form>
              <?php
              
        }
          
        ?>
            </TD>
           </TR>
        </TABLE>
        </BODY>
        </HTML>
        Sorry für den langen code, hier das Problem:

        Und zwar geht an den Besteller eine E-Mail mit $body02 zurück, und bei dieser Email werden die Umlautzeichen durch irgendwelche anderen Zeichen dargestellt.

        Und nun das für mich komischste an dieser ganzen geschichte: dieser fehler tritt nur deswegen auf, weil $body02 sich von $body01 wie folgt unterscheidet:

        es hat zusätzlich noch diesen abschnitt:

        Ihre Mail wird so schnell wie möglich bearbeitet.
        Bei Fragen schreiben Sie an: mailto:$empfaenger";


        Und wegen dem "ö" passieren die fehler. Lässt man es weg, dann passt alles. leider funktioniert es nicht das "ö" als &ouml; darzustellen.

        Weiß jemand die Lösung drauf? Ich verzweifle langsam

        Kommentar


        • #5
          deine HTML-Mail ist wie eine normale Web-seite

          verpass ihr nen ordentlichen Doctype , gib im <head> noch meta-tags an, zum Schrift-satz (iso-8859-1) dann sollte sich das mit den 'ö' haben, alternativ musst du die Umlaute in der html-Mail wieder in ihrer altmodischen &ouml; schreibweise auszeichnen
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

          Kommentar


          • #6
            Ist das Connection Problem beseitigt?
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Zitat von lstegelitz Beitrag anzeigen
              Ist das Connection Problem beseitigt?
              Ne das Connection Problem wurde nicht beseitigt, aber ich hab bissl rumgeschaut und ich glaube das is weil mein webspace bei 1und1 kein smtp zugang hat, da kann man etz leider nichts machen..

              @ eagle275
              Ich hab doch metaangaben im Head?!
              das "ö" als "&ouml;" darzustellen geht auch nicht, und er nimmt im phpcode auch keine html tags wie "<B>" an, wieso?
              also echo "<B>Fett</B>"
              wird als: <B>Fett</B>
              ausgegeben?!

              Kommentar


              • #8
                das ist der Head der HTML / PHP seite, die die Mail losschickt aus dem Formular ..

                der Mail selbst solltest du eigentlich auch sowas verpassen - oder soll das simpler Text sein?

                das er die Tags ausgibt , deutet auf ein paar fehler hin ..

                du kannst die Html-Mail wie eine Webseite betrachten ..

                also ´
                PHP-Code:
                $Mailkopf ='<!DOCTYPE .......>';
                $Mailkopf.='<html><head><title>Bestell-Mail</title>';
                $Mailkopf.='<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>';
                $Mailkopf.='</head><body>'
                für den Body verwendest du halt wahlweise $body01 oder $body02 -

                und hängst ein '</body></html>' an, damit die HTML-Mail wie eine wohlgeformte Webseite aussieht
                "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                Kommentar


                • #9
                  ne es wird eigentlich immer nur ein text sein aber wie kann ich denn der mail sowas verpassen? an welcher stelle im code müsste ich was ändern?
                  und vor allem: Wie lässt sich das Umlautproblem beheben, wenn ichs so lassen will wie es ist???

                  Kommentar


                  • #10
                    uh .. umlaute und normaler Text .... da gibt es das Problem , das einige Mail-Server besonders der älteren Generation automatisch jeden Ascii-Code oberhalb 127 abschneiden (weil die nunmal von englischer Tastatur ausgingen) was wiederum jegliche europäische Umlaute "verhunzt" ...

                    schon von daher würd ich es auf html-mail drehen ....

                    wenn es denn unbedingt normaler Text sein soll, dann würde ich vorschlagen, dass du mit str_replace oder ähnlichem jegliche Umlaute auf ihre alternativ schreibweise umbaust .. ä -> ae, ß -> ss usw
                    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                    Kommentar


                    • #11
                      Soso... Die Engländer sind also schuld

                      also dann wie kann ich das in eine HTML Mail umwandeln? würde es reichen wenn ich beim phpmailer es auf isHTML(); umstellen würde oder muss ich da im code bei $body ne neue html seite erstellen?!

                      Kommentar


                      • #12
                        du kannst ja meinen Code-schnipsel mit $Mailkopf gleich nutzen - da erheb ich kein copyright drauf ... dann isHTML ist pflicht ...


                        den body kannst du dann gestalten wie eine Webseite (nicht vergessen, das body-Tag hängt ja bei mir schon im Mailkopf ...)

                        also Tabellen mit <table> usw für ordentliche Formatierung ....

                        und am Ende mit </body></html> abschließen und als Mailbody übergibst du

                        $Mailkopf.$body02 ... oder du schreibst es um, dass gleich $body02 so anfängt
                        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                        Kommentar


                        • #13
                          Ähm wo gibts deinen Codeschnipsel?
                          Und was noch viel wichtiger ist, wie benutze ich denn die php variablen die bei meinem code in $body stehen denn in einer html mail??

                          Wäre das dann richtig für eine HTML mail:

                          Code:
                          $body01 = 
                          <html><HEAD>
                          <TITLE>Was bringts mir wenn ich hier was eintrage??</TITLE>
                          <BODY>Hier mein Text</BODY></html>

                          Kommentar


                          • #14
                            also die PHP-Variable kannst du selbstverständlich genauso in HTML-Text einbinden , wie in normalen Text

                            $text='<tag bla>'.$phpvariable.'</tag zu>'; funtkioniert im Grunde genau wie

                            $text='blabla '.$phpvariable.' weiterbla';

                            und mein Codeschnipsel ist hier : http://www.php.de/php-einsteiger/716...tml#post541556
                            "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                            Kommentar


                            • #15
                              Alles klar dann versuche ich das morgen mal wenn ichs schaff muss jetzt leider weg, vielen dank für die hilfe und ich berichte sobald ichs ausprobier habe.

                              MfG

                              Kommentar

                              Lädt...
                              X