Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Swiftmailer Swift_TransportException

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Swiftmailer Swift_TransportException

    Hallo Zusammen

    In einem anderen Thema hatte ich ein Problem mit einer Datei als Anhang.
    Hierzu wurde mir Swiftmailer empfohlen.

    Nun scheitere ich an der Konfiguration des Hosts, etc.

    Anforderungen bei Swiftmailer sind folgende:

    PHP-Code:
    $data = array();
    $data['smtp'] = array();

    $data['smtp']['host'] = 'mx1.hostinger.de';
    $data['smtp']['port'] = '2525';
    $data['smtp']['username'] = 'info@test-secu.esy.es';
    $data['smtp']['password'] = 'testtest'
    So sehen die Infos von meinem Hoster aus:



    Habe eigentlich alles richtig eingetragen.
    Aber trotzdem kommt folgende Fehlermeldung:
    Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Connection timed out #110]' in /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:265 Stack trace: #0 /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(62): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(113): Swift_Transport_StreamBuffer->initialize(Array) #2 /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() #3 /home/u482013025/public_html/contact/auftrag.php(163): Swift_Mailer->send(Object(Swift_Message), Array) #4 {main} thrown in /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php on line 265

    Dann mal auf meine GMX-Mail gewechselt mit den ganzen Anforderungen.
    Da gabs nen "Internal Server Error"

    Hat einer ne Idee an was es liegen könnte?
    Die Daten stimmen...

    Danke vorab.

    Viele Grüße
    Kellrkind

    PS: Hier noch der ganze Code vom Swiftmailer:

    PHP-Code:
    $to WEBMASTER_EMAIL;
            
    $from $mail;
            
    $message $text;

            
    $data = array();
            
    $data['smtp'] = array();
            
    $data['smtp']['host'] = 'mx1.hostinger.de';
            
    $data['smtp']['port'] = '2525';
            
    $data['smtp']['username'] = 'info@test-secu.esy.es';
            
    $data['smtp']['password'] = 'testtest';
            
    // $data['smtp']['host'] = 'mx1.hostinger.de';
            // $data['smtp']['port'] = '2525';
            // $data['smtp']['username'] = 'info@test-secu.esy.es';
            // $data['smtp']['password'] = 'testtest';

            
    $data['from'] = array('name' => 'Absender''email' => 'test@test.de');
            
    $data['to'] = array('name' => 'Empfänger''email' => 'keller.martin@gmx.net');
            
    $data['charset'] = 'utf-8';
            
    $data['subject'] = 'Html Mail';

            
    $data['html'] = '
            <html>
            <head>
                <title>'
    .$data['subject'].'</title>
            </head>
            <body>
                <div>
                    <h1>Meine Html-Mail</h1>
                    <p>
                        Lorem ipsum dolor sit amet.
                    </p>
                </div>
            </body>
            </html>'
    ;

            
    $data['text'] = 'Meine Html-Mail

            Lorem ipsum dolor sit amet.'
    ;

            
    // Swiftmailer Basis-Datei mit Autoloader
            
    require_once 'swiftmailer/lib/swift_required.php';

            
    // Verbindung erstellen
            
    $smtp = new Swift_SmtpTransport($data['smtp']['host'], $data['smtp']['port']);
            
    $smtp->setUsername($data['smtp']['username']);
            
    $smtp->setPassword($data['smtp']['password']);

            
    // Mail erstellen
            
    $mail = new Swift_Message($data['subject']);
            
    $mail->setBody($data['html'])
            ->
    setCharset($data['charset'])
            ->
    setContentType("text/html")
               
    // Absender angeben
            
    ->setFrom($data['from']['email'], $data['from']['name'])
            
    // Empfänger angeben
            
    ->setTo($data['to']['email'], $data['to']['name']);      

            
    // Mail versenden
            
    $swift = new Swift_Mailer($smtp);
            
    $swift->send($mail,$recipient); 

  • #2
    Wenn das die ganze Datei "auftrag.php" sein soll, wie erklärt sich dann diese Meldung?

    #3 /home/u482013025/public_html/contact/auftrag.php(163): Swift_Mailer->send(Object(Swift_Message), Array)
    Deine Datei hat keine 163 Zeilen...
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Und warum will Swiftmailer smtp.gmail.com verwenden obwohl du mx1.hostinger.de angibst...

      Kommentar


      • #4
        Das war nur der relevante Teil

        Vorher werden noch die Variablen ausgelesen etc,
        hier aber der ganze Code:

        PHP-Code:
        <?php
        /*
        Credits: Bit Repository
        URL: http://www.bitrepository.com/
        */

        include 'config.php';

        error_reporting (E_ALL E_NOTICE);

        $post = (!empty($_POST)) ? true false;
        $error '';
        $lokalitäten_text = array();

        if(
        $post)
        {

         
        // Textfelder werden ausgelesen
            
        $firma stripslashes($_POST['firma']);
            
        $name_vorname stripslashes($_POST['name_vorname']);
            
        $street stripslashes($_POST['street']);
            
        $plz stripslashes($_POST['plz']);
            
        $telefon stripslashes($_POST['telefon']);
            
        $mobil stripslashes($_POST['mobil']);
            
        $vort stripslashes($_POST['vort']);
            
        $date stripslashes($_POST['date']);
            
        $time stripslashes($_POST['time']);
            
        $motto stripslashes($_POST['motto']);
            
        $visitors stripslashes($_POST['besucher']);
            
        $mail trim($_POST['mail']);
            
        $subject "Auftragsanfrage";
            
        $sonst stripslashes($_POST['sonst']);

            echo 
        $sonst;

            if (isset(
        $_POST['halle'])) {
                
        $ch1 $_POST['halle'];
                if (
        $ch1 === 'halle') {
                    
        array_push($lokalitäten_text"Halle");
                }
            }
            if (isset(
        $_POST['zelt'])) {
                
        $ch2 $_POST['zelt'];
                if (
        $ch2 === 'zelt') {
                    
        array_push($lokalitäten_text"Zelt");
                }
            }
            if (isset(
        $_POST['kneipe'])) {
                
        $ch3 $_POST['kneipe'];
                if (
        $ch3 === 'kneipe') {
                    
        array_push($lokalitäten_text"Wirtschaft");
                }
            }
            if (isset(
        $_POST['sonst'])) {
                
        $ch4 $_POST['sonst'];
                if (
        $ch4 === 'sonst') {
                    
        array_push($lokalitäten_text"Sonstiges");
                }
            }

            
        $ersetzen = array( 'ä' => 'ae''Ä' => 'Ae''ö' => 'oe',  'Ö' => 'Oe''ü' => 'ue',  'Ü' => 'Ue''ß' => 'ss');
            
        $firma strtr($firma$ersetzen );
            
        $name_vorname strtr($name_vorname$ersetzen );
            
        $street strtr($street$ersetzen );
            
        $plz strtr($plz$ersetzen );
            
        $vort strtr($vort$ersetzen );
            
        $motto strtr($motto$ersetzen );

            
        // make a comma delimited list
            
        $lokalitäten_string join(', '$lokalitäten_text);

            
        // Radiobuttons werden ausgelesen
            
        $one_way $_POST['one-way'];
            
        $alter_ab $_POST['alter_ab'];

            
        foo_doc($firma$name_vorname$street$plz$telefon$mobil$mail$vort$date$time$motto$visitors$lokalitäten_string$one_way$alter_ab$sonst);
                
            echo 
        test;

            if(!
        $error)
            {

                
        $text "Anfrage von $name_vorname

                Firma: \t \t \t \t 
        $firma
                Name, Vorname: \t \t 
        $name_vorname
                Strasse: \t \t \t 
        $street
                PLZ: \t \t \t \t 
        $plz
                Telefon: \t \t \t 
        $telefon
                Mobil: \t \t \t \t 
        $mobil
                Mail: \t \t \t \t 
        $mail
                Veranstaltungsort: \t \t 
        $vort
                Veranstaltungsdatum: \t \t 
        $date
                Einlass ab: \t \t \t 
        $time Uhr

                Motto der Veranstaltung: \t 
        $motto
                Kalkulierte Besucheranzahl: \t 
        $visitors

                Lokalitäten: \t \t \t 
        $lokalitäten_string

                One-Way: \t \t \t 
        $one_way
                Einlass ab: \t \t \t 
        $alter_ab Jahren";

                
        $to WEBMASTER_EMAIL;
                
        $from $mail;
                
        $message $text;

                
        $data = array();
                
        $data['smtp'] = array();
                
        $data['smtp']['host'] = 'mx1.hostinger.de';
                
        $data['smtp']['port'] = '2525';
                
        $data['smtp']['username'] = 'info@test-secu.esy.es';
                
        $data['smtp']['password'] = 'testtest';
                
        // $data['smtp']['host'] = 'mx1.hostinger.de';
                // $data['smtp']['port'] = '2525';
                // $data['smtp']['username'] = 'info@test-secu.esy.es';
                // $data['smtp']['password'] = 'testtest';

                
        $data['from'] = array('name' => 'Absender''email' => 'test@test.de');
                
        $data['to'] = array('name' => 'Empfänger''email' => 'keller.martin@gmx.net');
                
        $data['charset'] = 'utf-8';
                
        $data['subject'] = 'Html Mail';

                
        $data['html'] = '
                <html>
                <head>
                    <title>'
        .$data['subject'].'</title>
                </head>
                <body>
                    <div>
                        <h1>Meine Html-Mail</h1>
                        <p>
                            Lorem ipsum dolor sit amet.
                        </p>
                    </div>
                </body>
                </html>'
        ;

                
        $data['text'] = 'Meine Html-Mail

                Lorem ipsum dolor sit amet.'
        ;

                
        // Swiftmailer Basis-Datei mit Autoloader
                
        require_once 'swiftmailer/lib/swift_required.php';

                
        // Verbindung erstellen
                
        $smtp = new Swift_SmtpTransport($data['smtp']['host'], $data['smtp']['port']);
                
        $smtp->setUsername($data['smtp']['username']);
                
        $smtp->setPassword($data['smtp']['password']);

                
        // Mail erstellen
                
        $mail = new Swift_Message($data['subject']);
                
        $mail->setBody($data['html'])
                ->
        setCharset($data['charset'])
                ->
        setContentType("text/html")
                   
        // Absender angeben
                
        ->setFrom($data['from']['email'], $data['from']['name'])
                
        // Empfänger angeben
                
        ->setTo($data['to']['email'], $data['to']['name']);      

                
        // Mail versenden
                
        $swift = new Swift_Mailer($smtp);
                
        $swift->send($mail,$recipient);
            }
        }


        function 
        foo_doc($firma$name_vorname$street$plz$telefon$mobil$mail$vort$date$time$motto$visitors$lokalitäten_string$one_way$alter_ab$sonst) {
            require_once 
        'PHPWord.php';

            
        $PHPWord = new PHPWord();
            
        $document $PHPWord->loadTemplate("Auftragsanfrage.docx"); 

                
        // after open you can change values inside doc (but every item to change in the original docs must to be ${ITEM_TO_CHANGE}) with this command: 

                //Kontaktinformationen
            
        $document->setValue("Firma","$firma"); 
            
        $document->setValue("Herrlich","$name_vorname");
            
        $document->setValue("Straße""$street");
            
        $document->setValue("PLZ""$plz");
            
        $document->setValue("Telefon""$telefon");
            
        $document->setValue("Mobil""$mobil");
            
        $document->setValue("Mail""$mail");

                
        // Veranstaltungsdaten
            
        $document->setValue("VOrt""$vort");
            
        $document->setValue("VDate""$date");
            
        $document->setValue("VTime""$time");
            
        $document->setValue("VMotto""$motto");
            
        $document->setValue("VBesucher""$visitors");

                
        //Spezielle Informationen
            
        $document->setValue("Lokal""$lokalitäten_string");
            
        $document->setValue("OneWay""$one_way");
            
        $document->setValue("EinlassJahren""$alter_ab");        
            
        $document->setValue("Sonstiges""$sonst");

                
        // to Save new File : 
            
        $document->save("Anfrage.docx"); 
        }

        ?>

        Kommentar


        • #5
          Zitat von erc Beitrag anzeigen
          Und warum will Swiftmailer smtp.gmail.com verwenden obwohl du mx1.hostinger.de angibst...
          Das war noch ein Versuch es mit GMAIL zu schaffen.

          Hier die Fehlermeldung zu Hostinger:

          Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host mx1.hostinger.de [Connection timed out #110]' in /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:265 Stack trace: #0 /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(62): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(113): Swift_Transport_StreamBuffer->initialize(Array) #2 /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() #3 /home/u482013025/public_html/contact/auftrag.php(163): Swift_Mailer->send(Object(Swift_Message), Array) #4 {main} thrown in /home/u482013025/public_html/contact/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php on line 265

          Kommentar


          • #6
            Von wo führst du den Code aus? Ich würde drauf tippen das da eine Firewall im Weg ist.

            Kommentar


            • #7
              Zitat von erc Beitrag anzeigen
              Von wo führst du den Code aus? Ich würde drauf tippen das da eine Firewall im Weg ist.
              Sitz an der Hochschule in Weingarten.
              Daheim könnt ichs nachher mal versuchen.

              Aber wenn jmd auf des Formular zugreift und des net durchläuft wegen einer Firewall hab ich ein Problem auf der Page...

              Sollte des ja trotzdem i-wie bekommen :-/

              Dokument wird erzeugt und des sollte auch rausgehen an mich

              Kommentar


              • #8
                Nicht das wir uns missverstehen. Ich mein den Host auf den der Webserver läuft? Lokale Testumgebung auf deinem Rechner oder Webhoster? Wenn der Lokal läuft teste das mal zu Hause. Wenn du da das selbe Problem hast schau mal ob du eine Firewall am laufen hast.

                Kommentar


                • #9
                  Hab eine Antwort vom Support bekommen...

                  Hallo,

                  Es ist aus Sicherheitsgründen nicht möglich sich vom Server aus mit dem SMTP Server zu verbinden, daher funktioniert Ihr Skript nicht richtig. Bitte beachten Sie zudem, dass Massenmailing auf unseren Servern nicht erlaubt ist.
                  Sie raten mir externen SMTP Dienste zu verwenden, beispielsweise Mandrill.
                  Weiß nicht ob das jmd was sagt.

                  Habe dort dann ein Konto angelegt und mir die Daten geholt.
                  Leider das gleiche Problem: Swift_TransportException


                  Vllt liegt es an Swiftmailer...
                  Jmd einen Vorschlag was ich statt dessen als Alternative ausprobieren könnte bzw. hat mit jmd vllt einen Beispielcode zum testen ob ich über einen Dienst eine Testmail verschicken kann?

                  Viele Grüße
                  Kellrkind

                  Kommentar


                  • #10
                    hm,

                    Es ist aus Sicherheitsgründen nicht möglich sich vom Server aus mit dem SMTP Server zu verbinden
                    falscher provider!

                    Kommentar


                    • #11
                      Zitat von Kellrkind Beitrag anzeigen
                      Hab eine Antwort vom Support bekommen...
                      Was für ein Support?

                      Zitat von Kellrkind Beitrag anzeigen
                      Sie raten mir externen SMTP Dienste zu verwenden, beispielsweise Mandrill.

                      Habe dort dann ein Konto angelegt und mir die Daten geholt.
                      Leider das gleiche Problem: Swift_TransportException
                      Kein wunder wenn du den Dienst per SMTP ansprichtst, das ja geblockt ist.

                      Kommentar


                      • #12
                        Zitat von erc Beitrag anzeigen
                        Was für ein Support?
                        Den von meinem Hoster.

                        Kein wunder wenn du den Dienst per SMTP ansprichtst, das ja geblockt ist.
                        Hab mir jetzt nen Account bei Mandrill.com besorgt und es mit neuen Daten und PHPMailer statt Swiftmailer versucht.
                        Kam die Meldung "Internal Server Error"...

                        Dann neuer Versuch: https://www.youtube.com/watch?v=aReNUjsxUzs
                        Diesmal allerdings mit meinen Daten von meinem Gmail Konto, sprich genau das gleiche was der Typ im Video macht...
                        Wieder der gleiche Fehler...

                        Mit Firefox mal das Netzwerk betrachtet und der Fehler wird bei Mandrill sowie der Gmail-Verbindung bei folgendem Punkt geworfen:

                        Code:
                        Der Anfrage-Header:
                        Accept	text/css,*/*;q=0.1
                        Accept-Encoding	gzip, deflate
                        Accept-Language	de,en-US;q=0.7,en;q=0.3
                        Cache-Control	max-age=0
                        Connection	keep-alive
                        Host	error.hostinger.eu
                        Referer	http://test-secu.esy.es/auftragsannahme.html
                        User-Agent	Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 FirePHP/0.7.4
                        x-insight	activate
                        
                        Der Antwort-Header:
                        
                        Connection	close
                        Content-Length	170
                        Content-Type	text/html; charset=utf-8
                        Date	Mon, 17 Nov 2014 13:42:05 GMT
                        Server	Apache
                        X-Powered-By	PHP/5.2.17
                        error.hostinger.eu dachte ich lässt sich auf den Host zurückschließen. Bin bei Hostinger.de. Auf meine Anfrage was ich tun könnte kam folgende Antwort:

                        Dies tönt so, als ob es ein Problem mit Ihrem Skript oder Ihrer Konfiguration gibt.
                        Sie sollten sich diesbezüglich mit dem Entwickler Ihres Skriptes in Verbindung setzen
                        Herrlich -_-

                        Langsam verzweifel ich, da ich keinen blassen hab worans liegen könnt dass es bei mir nicht funktioniert

                        Weiß jmd weiter?

                        Danke und Grüße
                        Kellrkind

                        Kommentar


                        • #13
                          Zitat von Kellrkind Beitrag anzeigen
                          Langsam verzweifel ich, da ich keinen blassen hab worans liegen könnt dass es bei mir nicht funktioniert
                          Wenn da Anfänger und komischer Webhoster aufeinander treffen ist das kein wunder. Das klingt alles sehr absurd. Webhoster blockiert SMTP , selbst den eigenen , empfiehlt ein Drittanbieter der scheinbar primäre auch per SMTP angesprochen wird , Support auch nicht in der lage zu klären .

                          Kommentar


                          • #14
                            ist doch super wenn der hoster den smtp blockiert, kriegt man keine spam mails

                            Kommentar


                            • #15
                              Hab da langsam die Schnauze voll -_-
                              Ich versuchs etzt noch bei nem anderen Hoster und sonst steig ich auf das alte mail() um ohne die Datei als Anhang zu verschicken

                              Kann mir jmd aus der Erfahrung raus einen Hoster empfehlen, bei dem alles rund lief?

                              Will dort die HP später als richtige Domain anmelden, sprich sollte auch vom Gesamtpaket her passen

                              Kommentar

                              Lädt...
                              X