Jo: mail-textfile-anhang mit special inline characters

salute,

ich habe folgendes kleines, aber mir auch kopfzerbrechendes problem:

ich versende mit der mail()-fkt. eine e-mail mit text-file-anhang. wenn der datei-inhalt mit dem 'special inline character' '\n' (fuer new line) geschrieben wurde, gibt es keinerlei schwierigkeiten. wird allerdings das '\r' (carriage return) verwendet, kommt weder eine fehlermeldung zum vorschein, noch kommt die mail jemals an.

wuerde mich freuen, wenn mir jemand einen tipp geben koennte.

danke

-> jo

  1. Hallo,

    ich versende mit der mail()-fkt. eine e-mail mit text-file-anhang. wenn der datei-inhalt mit dem 'special inline character' '\n' (fuer new line) geschrieben wurde, gibt es keinerlei schwierigkeiten. wird allerdings das '\r' (carriage return) verwendet, kommt weder eine fehlermeldung zum vorschein, noch kommt die mail jemals an.

    \r wird von Macs verwendet um das ende der zeile zu markiern.
    am einfachsten wird sein du jagst den text vorher durch einen str_replace http://www.php.net/str_replace

    $text=str_replace("\r","\n",$text);
    oder alternativ kannst du auch:
    $text=str_replace("\r","\r\n",$text);
    versuchen

    lg
    Ludwig

    1. Hallo,

      ich versende mit der mail()-fkt. eine e-mail mit text-file-anhang. wenn der datei-inhalt mit dem 'special inline character' '\n' (fuer new line) geschrieben wurde, gibt es keinerlei schwierigkeiten. wird allerdings das '\r' (carriage return) verwendet, kommt weder eine fehlermeldung zum vorschein, noch kommt die mail jemals an.

      \r wird von Macs verwendet um das ende der zeile zu markiern.
      am einfachsten wird sein du jagst den text vorher durch einen str_replace http://www.php.net/str_replace

      $text=str_replace("\r","\n",$text);
      oder alternativ kannst du auch:
      $text=str_replace("\r","\r\n",$text);
      versuchen

      lg
      Ludwig

      servus ludwig,

      das problem ist, dass ich das '\r' benoetige! es entspricht dem ascii-wert 13 oder hex-code 0D! outl$$k verschluesselt es nach quoted-printable mit '=0D'. das problem ist, wenn ich das imitiere haut das nicht hin, auch wenn ich die gleichen header-angaben wie outl$$k verwende.

      -> jo

      1. Hallo,

        das problem ist, dass ich das '\r' benoetige! es entspricht dem ascii-wert 13 oder hex-code 0D! outl$$k verschluesselt es nach quoted-printable mit '=0D'. das problem ist, wenn ich das imitiere haut das nicht hin, auch wenn ich die gleichen header-angaben wie outl$$k verwende.

        verstehe, dann könntest du noch folgendes versuchen:

        mail("empfänger","Betreff","body","Content-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");

        Evt. hilfts

        cya
        Ludwig

        1. Hallo,

          das problem ist, dass ich das '\r' benoetige! es entspricht dem ascii-wert 13 oder hex-code 0D! outl$$k verschluesselt es nach quoted-printable mit '=0D'. das problem ist, wenn ich das imitiere haut das nicht hin, auch wenn ich die gleichen header-angaben wie outl$$k verwende.

          verstehe, dann könntest du noch folgendes versuchen:

          mail("empfänger","Betreff","body","Content-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");

          Evt. hilfts

          cya
          Ludwig

          hey noch einmal,

          wie du siehst quaele ich schon mit einer neuen frage! was mich jetzt wundert ist, dass die mail()-fkt. wohl keine mail-anhaenge die eine bestimmte byte-laenge ueberschreitet, ohne zeilenumbrueche zu enthalten, nicht versendet. kannst du dazu etwas sagen?

          danke -> jo

          1. wie du siehst quaele ich schon mit einer neuen frage! was mich jetzt wundert ist, dass die mail()-fkt. wohl keine mail-anhaenge die eine bestimmte byte-laenge ueberschreitet, ohne zeilenumbrueche zu enthalten, nicht versendet. kannst du dazu etwas sagen?

            Das ist mir noch nie aufgefallen. kennst du die maximal länge ?

            Obowhl wenn ich mich richtig errinnere hab ich schon mails mit txt anhängen per php versendet welche absätze mit mehren 100 wörtern enthielten.

            Ludwig

            1. wie du siehst quaele ich schon mit einer neuen frage! was mich jetzt wundert ist, dass die mail()-fkt. wohl keine mail-anhaenge die eine bestimmte byte-laenge ueberschreitet, ohne zeilenumbrueche zu enthalten, nicht versendet. kannst du dazu etwas sagen?

              Das ist mir noch nie aufgefallen. kennst du die maximal länge ?

              Obowhl wenn ich mich richtig errinnere hab ich schon mails mit txt anhängen per php versendet welche absätze mit mehren 100 wörtern enthielten.

              Ludwig

              nunja,

              ich weiss es halt auch nicht so genau! wenn ich z.b. von einer datei, die keine umbrueche enthaelt, mit 'fgets()' 1 KByte einlese und versende funzt das ohne schwierigkeiten. wenn ich allerdings 2 KByte der gleichen datei einlese und versende passiert null!

              danke maestro -> jo