Seite empfehlen... Parameter wird nicht in Outlook übertragen

Vaio82

Erfahrenes Mitglied
Hallo zusammen...

Ich habe mir so ein Standard-Script gezogen und habe seit heute ein kleines Problem.

Mit dem Code:

PHP:
<script language="javascript">
<!--
function sendpage()
{
mail_str = "mailto:?subject= Seitenempfehlung: " + document.title;
mail_str += "&body=Schauen Sie sich diese Seite einmal an: " + document.title;
mail_str += ". Hier ist die Adresse: " + location.href; 
location.href = mail_str;
}
//-->
</script>

Fülle ich die sendpage() mit Inhalten... (Code befindet sich im <head>)

Mit diesem Code:

PHP:
<tr><td><a href="javascript:sendpage()">Seite empfehlen</a></td></tr>

... rufe ich das Script auf...

Wenn der Link in der Adresszeile des Browsers so lautet:

PHP:
http://www.clausgrm.com/dev/develop.php?open=2

Fügt er mir in Outlook (siehe ersten Quellcode: mail_str += ". Hier ist die Adresse: " + location.href; ) nur :

PHP:
http://www.clausgrm.com/dev/develop.php

In die Email ein...

Ich habe auch schon versucht mit PHP und JS was zu "zaubern", aber die Syntax von JS hat kein Auge "zugedrückt" :)

Wäre schön, wenn mir da jemand helfen könnte :)

SG,
Claus
 
Hallo Claus,
Wie du bemerkt haben wirst, wird der Link beim Fragezeichen abgeschnitten.
Der Grund ist simpel... das Fragezeichen hat dort nix zu suchen, weil es in URL's eine spezielle Bedeutung hat...
der Browser kann somit micht unterscheiden, welches Zeichen zur URL gehört und welches zum Parameter.
Die Lösung ist recht simpel :) ...die Javascript-Funktion "escape()" wandelt dir alle Zeichen, welche dort codiert werden müssen, entsprechend um:
Code:
<script type="text/javascript">
<!--
function sendpage()
{
mail_str = "mailto:?subject= Seitenempfehlung: " + escape(document.title);
mail_str += "&body=Schauen Sie sich diese Seite einmal an: " + escape(document.title);
mail_str += ". Hier ist die Adresse: " + escape(location.href);
location.href = mail_str;
}
//-->
</script>
...sollte es daher tun.

Wenn du allerdings PHP am Laufen hast, kannst du den Link doch gleich damit ausgeben.... rawurlencode() macht dasselbe in PHP-und spart dir das JavaScript :)
 
Danke für deinen Hinweis! War wohl scheinbar ein temporäres Problem des Clients... Auf 4 anderen Systemen klappte es :-)

Das mit PHP klingt schon recht gut, jedoch wüßte ich nicht, dass ich mit PHP Outlook öffnen könnte :o) Und ein Formular wollte ich nicht haben.

SG,
Claus
 
Nö, das Mailprog kann PHP nicht öffnen, aber du kannst es über einen Link öffnen.
Im Grunde genommen bastelt das Skript ja nur einen Link aus aktueller URL und Dokumententitel zusammen... mit PHP sind dir die beiden Sachen aber schon vorher bekannt, daher könntest du den Link einfach gleich damit in die Seite schreiben.... das würde dann auch ohne aktiviertes Javascript funktionieren :)
 
Klar :) ...Das könnte z.B. so aussehen:
Code:
<?php
$adress	=rawurlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$title	=rawurlencode('Titel der Seite');
$subject	=rawurlencode('Seitemempfehlung').$title;
$body	=rawurlencode('Schauen Sie sich diese Seite einmal an:').$title;
$body      .=rawurlencode('Hier ist die Adresse: ').$adress;
echo '<a href="mailto:?subject='.$subject.'&body='.$body.'">Seite empfehlen</a>';
?>
Da hast du dann nen ganz normalen, korrekt codierten Mailto:-Link :)
 
Zuletzt bearbeitet:
Das ist ja süß... :o)

Danke dir... habe es aber noch ein wenig gekürzt *g* - das mit dem "echo" hätte ich wissen müssen :)
 

Neue Beiträge

Zurück