[Funktion] htmlEMail automatisch eingefuegter zeilenumbruch

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

  • [Funktion] htmlEMail automatisch eingefuegter zeilenumbruch

    hi@all,

    steh da vor nem problem, welches ich einfach nicht in den griff bekomme. ich habe bei mir zuhause ein lampSystem auf welchem ich z.z. ein phpScript entwickle, das die eingaben in einer htmlForm entgegen nimmt, auswertet und grafisch entsprechen aufbereitet als htmlEMail versendet.

    es klappt soweit eigentlich auch alles ganz gut und wenn ich die eMail an mein lokales account (auf meinem eigenen server) sende, dann entspricht es exakt meinen vorstellungen. sobald ich die eMail aber an irgend eine beliebige eMailAdresse ausser der auf meinem eigenen server sende, dann wird der htmlText der eMail ein wenig zerpflueckt. will heissen, in regelmaessigen abstaenden (ich schaetze so alle 250-300 zeichen, vielleicht auch mehr) wird automatisch ein zeilenumbruch gefolgt von einem leerzeichen in den htmlCode eingefuegt. dies fuehrt natuerlich dazu, dass der inhalt der htmlMail nicht mehr korrekt angezeigt wird. meine sendFunction sieht wie folgt aus:

    Code:
    function sendEmailToReceiverHTML() {
        $strEMailHeader .= "MIME-Version: 1.0\n";
        $strEMailHeader .= "Content-type: text/html; charset=iso-8859-1\n";
        $strEMailHeader .= "X-Mailer: PHP ".phpversion()."\n";
        $strEMailHeader .= "Content-Transfer-Encoding: 8bit\n";
        $strEMailHeader .= "To: ".$GLOBALS['eMailHeaderTo']."\n";
    
        if($GLOBALS['eMailUseEnquirerEMailAddressAsHeaderFrom']) {
            // still to be solved...!		
        } else {
            $strEMailHeader .= "From: ".$GLOBALS['eMailHeaderFrom']."\n";
        }
    
        if(!empty($GLOBALS['eMailHeaderCC']) && $GLOBALS['eMailHeaderCC'] != '') {
            $strEMailHeader .= "Cc: ".$GLOBALS['eMailHeaderCC']."\n";
        }
    
        if(!empty($GLOBALS['eMailHeaderBCC']) && $GLOBALS['eMailHeaderBCC'] != '') {
            $strEMailHeader .= "Bcc: ".$GLOBALS['eMailHeaderBCC']."\n";
        }
    
        //if(mail($GLOBALS['eMailHeaderTo'], $GLOBALS['strEMailSubject'], $GLOBALS['strEmailMsgTextHTML'], $strEMailHeader)) {
        if(mail('', $GLOBALS['strEMailSubject'], $GLOBALS['strEmailMsgTextHTML'], $strEMailHeader)) {
            return true;
        } else {
            return false;
        }
    }
    tja, und genau hierbei kommen dann zeilen wie etwa:

    Code:
    <tr>
    <td align="right"><font color="#CCCCC">Anfangsdatum:</font></td>
    <td><strong><code><f
     ont color="#CCCCC">sadasd</font></code></strong></td>
    </tr>
    heraus, nachdem mir die eMail zugestellt wurde. (man beachte die stelle, an der ein willkuerlicher zeilenumbruch gefolgt von einem leerzeichen in der neuen zeile auftaucht).

    hat vielleicht irgend jemand ne ahnung was da los ist und wie ich dieses problem in den griff bekommen?

    greetz

    dialsc
    Zuletzt geändert von dialsc; 30.06.2004, 00:20.

  • #2
    Macht da vielleicht deine Mail-Klasse Mist?
    Lass dir mal vor dem mail-Befehl
    echo '<pre>', htmlentities($GLOBALS['strEmailMsgTextHTML']), '</pre>';
    ausgeben.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Re: htmlEMail automatisch eingefuegter zeilenumbruch, warum???

      First I wondered why only the first part of my HTML mail came through while using mail().
      Then I read that:"RFC 821 prohibits lines longer than 998 bytes, and requires that all servers be able to accept 998-byte lines. In practice, users sometimes send longer lines. ".
      So don't forget to do a "\n" at least every 998 bytes in your $message.
      Das findet man, wenn man die Kommentare zur mail-Funktion liest. Ich denke da haben wir das Problem. Zeilen dürfen halt nicht länger als 998-Zeichen lang sein. Kann es sein, dass dein HTML-String keine Zeilenumbrüche hat?
      Ich denke, also bin ich.
      Manche sind trotzdem!

      Kommentar

      Lädt...
      X