mailto Link mit Parametern
halodrio
0 Yeti0 Sky0 Tobias Kloth
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?
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
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
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 »&« 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
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