Phpmailer & Anhang

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

  • Phpmailer & Anhang

    Hallo Helfer,

    ich habe ein merkwürdiges Problem mit dem phpmailer.

    Ich möchte einen Anhang mittels AddAttachment() über SMTP versenden.

    Ich habe zwei Server:
    1. Server (Hauptserver)
    2. Server (Testserver)

    Auf beiden läuft Win2003 Server und Xampp 1.5.5

    Es wird auf beiden Servern derselbe E-Mail Provider benutzt, ebenso auch derselbe Login.

    Es ist also alles identisch, auch das Script.

    Nun das Problem:

    Ich versende eine E-Mail über den Testserver mit einem Anhang von z.b. 100 kb.

    Es funktioniert, Mail kommt an, Anhang ist dabei.

    Sobald ich aber diese Mail mit dem Hauptserver versenden will kommt folgende Fehlermeldung:



    Fatal error: Maximum execution time of 60 seconds exceeded in C:\Programme\xampp\htdocs\testscript\mail\class.smtp.php on line 243
    Die entsprechende Passage aus class.smtp.php lautet:

    PHP-Code:
    <?php
    while(list(,$line_out) = @each($lines_out)) {
                    if(
    strlen($line_out) > 0)
                    {
                        if(
    substr($line_out01) == ".") {
                            
    $line_out "." $line_out;
                        }
                    }
                    
    fputs($this->smtp_conn,$line_out $this->CRLF);
                }
    #Das ist Line 243
    ?>
    Nun habe ich gemerkt, dass das Script ein Problem beim Senden an den SMTP-Server hat.

    Also habe ich mal die Zeit gemessen, die der Server pro Zeile zum Senden benötigt.
    Hier die Ergebnisse:


    Testserver, auf dem es läuft:

    GCDkFerP8KsTgZTW8NV+v4GOGnyVEu5y3/BS74MR/C/9oa51vT4Jk0fxdCdWVjE4jS7LFbmNZGY7
    Übertragungsdauer der oberen Zeile in Millisekunden: 0.0190734863281
    2LASkDG3z1G0AKT8l1+6/wC15+zJZftQfC86H9qh0vxDp8pvNJ1KWIMqS7SGikOCwikGN23kFUbD
    Übertragungsdauer der oberen Zeile in Millisekunden: 0.0190734863281
    bNp/PSz/AOCUXxnudV1C0kv/AApaW9r5flX02ozGG73LlvLCwM42Hg+Yicn5dw5rlynOcM8JGOIq
    Übertragungsdauer der oberen Zeile in Millisekunden: 0.018835067749

    Und nun der (Problem)Hauptserver (man beachte die mittlere Zeile):



    GCDkFerP8KsTgZTW8NV+v4GOGnyVEu5y3/BS74MR/C/9oa51vT4Jk0fxdCdWVjE4jS7LFbmNZGY7
    Übertragungsdauer der oberen Zeile in Millisekunden: 0.0169277191162
    2LASkDG3z1G0AKT8l1+6/wC15+zJZftQfC86H9qh0vxDp8pvNJ1KWIMqS7SGikOCwikGN23kFUbD
    [COLOR=orangered]Übertragungsdauer der oberen Zeile in Millisekunden: 44735.281229[/COLOR]
    bNp/PSz/AOCUXxnudV1C0kv/AApaW9r5flX02ozGG73LlvLCwM42Hg+Yicn5dw5rlynOcM8JGOIq
    Übertragungsdauer der oberen Zeile in Millisekunden: 0.0190734863281
    Die Daten werden also gesendet, jedoch dauert es ziemlich lange.
    Da so ein Anhang nun aus tausenden von Zeilen besteht und nun öfter so'ne Knaller kommen, gibts nen Timeout.

    Meine Frage ist:
    Woran könnte das liegen?
    php.ini ist auf beiden Servern dieselbe.

    Habe dieses Problem schon in einem anderen Forum gepostet, man konnte mir da aber nicht helfen.

    Vielleicht hat ja jemand eine Idee?

    Vielen Dank im Voraus!

    Gruß
    bigdadyx

  • #2
    Hast du mal probiert, eine Email mit Anhang ohne php zu versenden, also über irgendeinen Client, thunderbird oder so?
    Da wüsste man schonmal, ob es an PHP oder am Mailserver liegt.

    Kommentar


    • #3
      klappts denn mit einem kleineren anhang auf beiden servern? würde auch schon fast auf die netzwerkkonfiguration schieben. ansonsten, versuch mal einen anderen mailer, es gibt ja genug...

      Kommentar


      • #4
        E-Mail Versand über Outlook geht. Port 25 ist frei. Wenn er nicht frei wäre, könnte man ja überhaupt nicht senden, er sendet aber verzögert und dann auch nicht jede Zeile sondern nur einige.

        Am Provider kann es nicht liegen, da auf dem Testserver derselbe Provider und derselbe Login benutzt wird.

        Der Testserver hat auch ne !!langsamere I-Net Verbindung (2MBit).
        Hauptserver hat 6MBit.

        Einzigster Unterschied ist, dass Der Hauptserver an einer Fritzbox hängt, in der aber eine Portfreigabe für Port 25 besteht.

        Es muss eigentlich an den Netzwerkeinstellungen alles richtig sein, sonst würde er ja überhaupt nicht senden.

        Wenn ich nen Anhang von 15 kb versenden will und set_time_limit(180) benutze, dann schafft er es innerhalb von 2,5 Minuten, diese E-Mail zu senden.

        Kommentar


        • #5
          er sendet aber verzögert und dann auch nicht jede Zeile sondern nur einige.
          Also liegt es am Mailserver (bzw. der Verbindung dahin), hab' ich das jetzt richtig verstanden?

          Kommentar


          • #6
            Das ist ja das komische!!!

            Der Mailserver ist derselbe!

            Es wird eine Verbindung über SMTP (Port 25) zu z.B. mail.provider.net

            der Testserver sendet so wie er soll.
            Beim Hauptserver entstehen diese Verzögerungen.

            Das kann ja nicht am Mailserver liegen, sonst würde der Testserver dieselben Probleme haben.

            Und das merkwürdige ist ja, das diese Verzögerungen beim Hauptserver eben nicht bei jeder Zeile entstehen!! sonst wären es die Netzwerkeinstellungen.

            Kommentar


            • #7
              könnte es denn in irgendeiner weise an der php.ini liegen?

              Kommentar


              • #8
                benutzen beide den selben provider vom internet her? vielleicht sind da weitere punkte im spiel wie z.b. die ip die bei aol kunden minütlich wechselt.
                ansonsten schon einmal ohne die fritzbox probiert? ansonsten welches
                protokol hast du denn bei port 25 . udcp oder tcp? sage mal die konfigurationen
                Webdesign und Webentwicklung - Plunix.de

                Kommentar


                • #9
                  Hauptserver:

                  Internetprovider: Schlund
                  Mailprovider: Schlund
                  Betriebssystem: Windows 2003 Server
                  Xampp: 1.5.5

                  Testserver:
                  Internetprovider: Alice
                  Mailprovider: Schlund
                  Betriebssystem: Windows 2003 Server
                  Xampp: 1.5.5

                  In der Fritzbox ist der Port 25 (TCP) frei ein und ausgehend an den Server.

                  Liege ich in der Annahme falsch, dass wenn es ein Problem mit dem Port oder der Fritzbox wäre, gar kein E-Mail Versand möglich wäre?

                  Fehlt noch was an Infos?

                  Kommentar


                  • #10
                    Hat sonst niemand 'ne Idee?

                    Kommentar


                    • #11
                      noch mal: wenn du es per outlook von dem problematischen server versuchst, dauert es auch so lange?

                      was passiert, wenn du per mail() eine riesen-e-mail verschickst?

                      Kommentar

                      Lädt...
                      X