10.5k Aufrufe
Gefragt in Webseiten HTML von
Hallo zusammen,
über einen LINK auf einer Homepage kann man eine Email verschicken (mailto:bill.gates@ms.com). Man kann auch noch weitere Optionen übergeben, wie subject oder body.
Und nun kommt mein Problem. Ich habe auf meiner Homepage eine Variable, in der unterschiedliche Werte gespeichert sind. Nun möchte ich den aktuellen Wert bzw. die Variable mit verschicken, im body. Doch wie binde ich das ein? So geht es jedenfalls nicht: mailto:bill.gates@ms.com?subject=test&body=variablenname

Meinetwegen kann das auch mit einer JavaScript-Funktion gelöst werden, falls möglich. Ist mir egal, hauptsache es funktioniert.
Hat jemand eine Idee?

Danke.
Michael

10 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
So geht es jedenfalls nicht: mailto:bill.gates@ms.com?subject=test&body=variablenname
Doch - exakt so. Was geht denn daran nicht?
0 Punkte
Beantwortet von
dein Problem ist, dass es bei mailto: auf das Zusammenspiel von Browser und EMailprogramm ankommt, ob solche Parameter entsprechend umgesetzt werden. Wenn's bei dir nicht klappt gibt es da Kommunikationsprobleme auf deinem Rechner. Vielen Usern wird's ähnlich ergehen, daher kannst du dich auf sowas niemals verlassen.

mailto: ist eine Notlösung ohne jede Garantie.

Die einzig sinnvolle Lösung ist ein Formular, dass auf deinem Server (zur Not auf einem anderen) durch einen Formmailer (zB. diesem) empfangen wird und dann eine Mail an dich aus den empfangenen Daten bastelt..
0 Punkte
Beantwortet von
Hallo
Also wenn ich einen Link platziere in Form von <a href="mailto:name@domain.com?subject=Artikel&body=variablenname">mailen</a> dann wird bei Klick das lokale Email-Programm gestartet, die Empfängermailadresse und Betreff eingetragen und im Body, als Textteil der Mail steht dann "variablenname". Doch anstelle der Variable soll da der aktuelle Wert erscheinen, der in der Variable gespeichert ist. Und das kriege ich nicht hin. Ich kann jeden Text direkt hinter body= schreiben, der wird übernommen. Aber wie der gespeicherte Inhalt meiner Variable?

Mit einem Formmailer weiß ich auch, das möchte ich auch noch separat zusätzlich einbauen. Doch manche möchten vielleicht lieber direkt Ihr gewohntes Mailprogramm nutzen, so haben Sie die gewohnte Umgebung und die gesendete Mail gleich im Postausgang. Und dafür, damit sie nicht alles von Hand tippen müssen, möchte ich den Wert (gespeichert in meiner Variablen) in den body übergeben....

Weitere Anregungen und Lösungsansätze sind herzlich willkommen. Danke.
Michael
0 Punkte
Beantwortet von Experte (6.4k Punkte)
von was für einer Art Variablen sprichst Du denn überhaupt? Javascript oder PHP oder was?
0 Punkte
Beantwortet von
Was ist an Antwort 2 unverständlich geblieben?

Kurz zusammengefasst:

Wenn Browser und Mailprogramm sich verstehen klappt's - sonst nicht!

Das sind Teile der Rechnerkonfiguration der Seitenbesucher, darauf hast du als Seitenschreiber keinerlei Einfluss!

Und dafür gibt's daher auch keine anderen Lösungsansätze als ein Hinweis wie: "Damit auf meiner Seite alles richtig funktioniert müssen Sie den Browser SOWIESO_8 und das E-Mailprogramm BlaBla_99 auf Ihrem Rechner mit folgenden Einstellungen installiert haben .... "
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
<a href="mailto:name@domain.com?subject=Artikel&body=variablenname">mailen</a>

Wenn du das generierst, dann kannst du auch variablenname gleich ersetzen. supporter2010 fragt zurecht - am besten zeigst du uns ein Code-Beispiel deinerseits. Außerdem müssen & (Kaufmanns-und) als Entitäten im HTML angegeben werden, also &amp;
0 Punkte
Beantwortet von
Hallo,
also ich befinde mich in der Sprache: JavaScript
Je nachdem welcher LINK auf meiner Seite angeklickt, wird eine entsprechend zugewiesene Variable gesetzt. Um zum Schluß das ganze zu mailen, werden mittels einer Schleife einmal alle Variablen durchgecheckt und falls eine einen Wert beinhaltet wird diese zu einer 'Gesamtvariable' hinzugefügt/angehängt. Zum Schluß sieht dann der Inhalt meiner Variable ganz einfach gehalten dann z.B. so aus :
verbund="Folgende Artikel wurden ausgewählt: Wandbild, Glasschale, Blumenvase".

Bin leider noch nicht weiter wie ich das jetzt in meinen Link mit einbinde?
<a href="mailto:name@domain.com?subject=Artikel&body=+verbund">mailen</a>
Damit erscheint dann +verbund im Mailtext und nicht Folgende Artikel wurden ausgewählt: Wandbild, Glasschale, Blumenvase

Ich hoffe ich habe mich verständlich und ausreichend ausgedrückt. Kann jetzt jemand helfen?
Michael
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ich hoffe ich habe mich verständlich und ausreichend ausgedrückt.
Ich mich anscheinend nicht.

Dann komm ich mal mit einem Beispiel:
<html><head>
<title>email</title>
<script type="text/javascript">
function klick() {
var e= document.getElementById( 'email' );
var sText= 'Auswahl: ';

if( 1== 1 ) sText+= 'Wandbild, ';
if( 2== 4 ) sText+= 'Glasschale, ';
if( 3== 3 ) sText+= 'Blumenvase, ';
if( 4== 4 ) sText+= 'Verstand, ';

e.href+= encodeURIComponent( sText );
return true;
}
</script>
</head><body>
<a id="email" href="mailto:name@domain.com?subject=Artikel&amp;body=" onclick="return klick();">E-Mail erstellen</a>
</body></html>
0 Punkte
Beantwortet von
@son_quatsch
Superschnelle Antwort. Und dann genau mit der Lösung nach der ich gesucht habe. Vielen vielen Dank.
Du bist ein Profi !
Ich bin auf dem Gebiet JavaScript halt noch Anfänger und mit Anführungszeichen einfach' oder doppelt " sowie den return - Befehlen komme ich noch nicht so ganz klar. Aber mit Deiner Lösung bastel ich mir mein Werk zurecht.
Nochmals Danke. Ich bin begeistert.
Gruß
Michael
0 Punkte
Beantwortet von
Das ist hoffentlich nur eine Spielerei? Sich auf JavaScript in der Kombination mit mailto: verlassen zu wollen ist so sinnvoll wie ein Lotterielos kaufen und schon mal Platz für den Hauptgewinn zu machen. Für ernsthafte Anwendungen - und "Artikel ... ausgewählt" klingt so - ist das komplett ungeeignet (bei einer Firma, die sowas unprofessionelles auf ihrer HP hat, würde ich nie was kaufen).
...