halodrio: mailto Link mit Parametern

Hallo

Ich würde gerne einen Link folgender Form generieren und mit diesem das lokale E-Mail Programm aufrufen.
<a href="mailto:?subject=test&body=Link: http://www.domain.de/index.php?var1=5&var2=3">E-mailLink</a>

Nun bereitet mir aber das Zweite "&" (Dick) ein Problem. Dieses wird nun nicht als Variablenverkettung in einer URL gesehen sondern als weiteres Steuerwort für das E-Mailprogramm.

Gibt es hierfür eine andere Schreibweise oder sonst einen Lösungsweg?

  1. Hallo,

    PHP bietet an, in der php.ini oder über ini_set mehrere Delimiter zu definieren. Dadurch könntest du z.B. ein Semikolon nehmen und das Problem vermeiden.
    Dein Stichwort heißt: arg-seperator.input
    http://php.net/manual/de/ini.sect.data-handling.php#ini.arg-separator.input

    Der Yeti

    --
    Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
    Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
    Und bin so klug als wie zuvor!
    sh:( fo:| ch:? rl:? br:  n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
    http://community.de.selfhtml.org/fanprojekte/selfcode.htm
  2. Hallo halodrio!

    Ich würde gerne einen Link folgender Form generieren und mit diesem das lokale E-Mail Programm aufrufen.
    <a href="mailto:?subject=test&body=Link: http://www.domain.de/index.php?var1=5&var2=3">E-mailLink</a>

    Nun bereitet mir aber das Zweite "&" (Dick) ein Problem. Dieses wird nun nicht als Variablenverkettung
    in einer URL gesehen sondern als weiteres Steuerwort für das E-Mailprogramm.

    Ich weiss nicht ob es funktioniert, aber ich würde den Wert-Teil encodieren. Wenn du den Link in PHP generierst würde ich es wie folgt machen:

    $link = "?subject=".urlencode("test")
              ."&body=".urlencode("Link: http://www.domain.de/index.php?var1=5&var2=3")

    echo "<a href="mailto:".$link."">E-mailLink</a>";

    Grüsse,

    Sky

  3. Hallo halodrio,

    Ich würde gerne einen Link folgender Form generieren und mit diesem das lokale E-Mail Programm aufrufen.

    du weißt, dass das nur mit viel Glück auch richtig funktioniert, ja?

    <a href="mailto:?subject=test&body=

    statt »&« muss hier »&amp;« stehen.

    Link: http://www.domain.de/index.php?var1=5&var2=3">E-mailLink</a>

    ^^^^ das Leerzeichen muss mit %20 maskiert werden

    Nun bereitet mir aber das Zweite "&" (Dick) ein Problem.

    ich weiß zwar nicht was du mit dem "Dick" meinst, aber das kannst (musst?) du einfach als %26 schreiben (auch »?« und »=« müssen afaik maskiert werden (mit %3F bzw. %3D)).

    Grüße aus Nürnberg
    Tobias

    1. Hi,

      das kannst (musst?) du einfach als %26 schreiben (auch »?« und »=« müssen afaik maskiert werden (mit

      %3F bzw. %3D)).
      da ich selbst ziemlich viel in dieser Richtung experimentiert habe, muß ich leider sagen, daß Ampersands

      nicht im body-Parameter für mailto: kodiert werden können. Die meisten eMail-Programme brechen dann den

      String einfach ab.
      "?" erfordert bei Opera eine Kodierung, "=" ist jedoch problemlos.

      freundliche Grüße
      Ingo