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



## Vaio82 (14. Januar 2004)

Hallo zusammen... 

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

Mit dem Code:


```
<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:


```
<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:


```
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 :


```
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


----------



## Sven Mintel (14. Januar 2004)

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:

```
<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


----------



## Vaio82 (14. Januar 2004)

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 ) Und ein Formular wollte ich nicht haben.

SG,
Claus


----------



## Sven Mintel (14. Januar 2004)

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


----------



## Vaio82 (14. Januar 2004)

Ich komme gerade nicht genau zu meinem roten Faden zurück... ) 

Hättest du mal eben ein Bsp.? 

SG,
Claus


----------



## Sven Mintel (14. Januar 2004)

Klar  ...Das könnte z.B. so aussehen:

```
<?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


----------



## Vaio82 (14. Januar 2004)

Das ist ja süß... ) 

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


----------

