MurphiesBruder: HTML-Body bei mailto

Hallo,

ich möchte eine komplette (!) HTML-Seite - also inklusive Header, Style-Definitionen, Tabellenstruktur etc. - in einer Email verschicken.
Dieses hatte ich über den php-Mailer realisiert. Doch nun will der "Auftraggeber" unbedingt, dass diese Seite über den lokalen Emailclient verschickt wird.

Als einzige Möglichkeit fällt mir dazu nur "mailto" mit der HMTL-Seite als Body ein. Die HTML-Seite bearbeite ich vorher mit dem php-Befehl rawurlencode, so dass keine unkodierten Sonderzeichen etc. mehr angezeigt werden. Dennoch klappt der Versand nicht.

Gibt es eine maximale Länge beim mailto-Body oder was muss ich noch beachten ?

Wenn ich die zu übergebene Seite "abschneide", klappt es teilweise, so dass vermute, dass es noch Zeichen gibt, die mittels rawurlencode nicht angepasst werden.

Kann mir jemand helfen ?

Gruß
     MB

  1. Ich grüsse den Cosmos,

    Doch nun will der "Auftraggeber" unbedingt, dass diese Seite über den lokalen Emailclient verschickt wird.

    Du hast beim Beratungsgespräch versagt.

    Gibt es eine maximale Länge beim mailto-Body oder was muss ich noch beachten ?

    GET ist beschränkt, POST nicht.

    Möge das "Self" mit euch sein

    --
    Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
    1. Du hast beim Beratungsgespräch versagt.

      Da war ich ja leider nicht dabei - blame it on my boss ! ;-)

      Gibt es eine maximale Länge beim mailto-Body oder was muss ich noch beachten ?

      GET ist beschränkt, POST nicht.

      Zur Info: ich rufe mailto wie folgt auf (JS mit php):

      <script type='text/javascript'>
        window.location.href = 'mailto:<?php echo $mailadressat; ?>?subject=<?php echo rawurlencode($mailbetreff); ?>&body=<?php echo rawurlencode($mailbody); ?>';
       </script>

    2. Hallo manuel,

      Gibt es eine maximale Länge beim mailto-Body oder was muss ich noch beachten ?
      GET ist beschränkt, POST nicht.

      das ist wohl wahr - aber wie willst du mit POST den lokal installierten Mailclient aufrufen? Das geht AFAIK nur mit einem mailto-Link, und der wird auf dem Client intern "verarbeitet" und nicht als GET- oder POST-Request verschickt. Auf einem Windows-Rechner läuft das so, dass der Browser aus dem mailto-Link einen Programmaufruf mit Kommandozeilenparametern erzeugt.

      Im vorliegenden Fall ist daher wohl das Problem, dass die Länge einer Befehlszeile in Windows begrenzt ist.

      Abgesehen davon unterstützen natürlich nicht alle Mailclients die Übergabe von Subject und Body auf der Kommandozeile.

      Schönen Tag noch,
       Martin

      --
      Ist die Katze gesund,
      freut sich der Hund.
      1. Ich grüsse den Cosmos,

        Auf einem Windows-Rechner läuft das so, dass der Browser aus dem mailto-Link einen Programmaufruf mit Kommandozeilenparametern erzeugt.

        Stimmt, war ein Denkfehler, weuil ich wieder an nen Formmailer gedacht hab ...

        Abgesehen davon unterstützen natürlich nicht alle Mailclients die Übergabe von Subject und Body auf der Kommandozeile.

        Und selbst die, die es unterstützen wollen vielleicht nicht. Ich würde meinem Mailprogramm was husten, wenn es ungefragt Mails verschickt. Und wenn mich mein Client fragt, ob ich das will, frage ich mich, wer sowas ins Netz stellt ;)

        Möge das "Self" mit euch sein

        --
        Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
        1. Hallo Manuel,

          Stimmt, war ein Denkfehler, weuil ich wieder an nen Formmailer gedacht hab ...

          so 'ne Art Berufskrankheit? ;-)

          Ich würde meinem Mailprogramm was husten, wenn es ungefragt Mails verschickt.

          ACK. Aber selbst bei den üblichen Windows-Implementierungen kenne ich das nur so, dass der Standard-Mailclient, kann evtl. sogar Outlook (Express) sein, aufpoppt und die entsprechenden Daten schon eingetragen sind; *absenden* muss ich das dann aber immer noch selbst.

          Ciao,
           Martin

          --
          Der Bäcker schlägt die Fliegen tot
          Und macht daraus Rosinenbrot.