PHP mail() unicode utf-8 and url mit get-Parametern

Hi Leute,
ich möchte per php mit der mail() Funktion einen Link zu einer URL mit get-Parametern verschicken.

$mailtext="blabla \n\n http://www.meineurl.de/page.php?id=1&code=123\n\n\n\n\n blabla";
mail($_POST['to'], "Betreff", $mailtext, 'From: Sender <email@maineurl.de>'."\r\n".'Mime-Version: 1.0'."\r\n".'Content-Type: text/plain; charset=utf-8'."\r\n".'Content-Transfer-Encoding: quoted-printable');

Nun kommt die URL aber leider nicht so beim Empfänger an…

Das Problem sind die Sonderzeichen in der URL.

In meinem Emailprogramm bekomme ich: meineurl.de/page.php?id=code3

In meinem Webmailinterface bekomme ich: meineurl.de/page.php?id1&code3

Was ist hier das Problem? Bekomme ich hier irgendwelche Probleme mit den unicode-Zeichen? Wie muss ich die Zeichen korrekt eingeben?

Danke!
munich

hi,

du kannst an keine url ne email schicken … dafür gibts ja e-mail adressen mit dem @ oder versteh ich grad was falsch?

lg flo

Nene, so meine ich das nicht. Ich möchte einfach eine Email per php verschicken und zwar unter Nutzung der mail() Funktion. Im Text der Email soll eine URL stehen! Diese soll eben lauten meineurl.de/page.php?id=1&code=123.
Also eine ganz normale URL mit get-Parametern.
Nun ist das Problem, dass ich die URL so in meinen String schreibe, er so aber nicht im Emailprogramm und im Webmailinterface dargestellt wird. Das hat vermutlich mit der utf-8-Kodierung zu tun.
Meine Frage nun: Wie bekomme ich es hin, dass die URL im Mailtext richtig dargestellt wird?
Danke!
munich

hi
ich glaube das nicht, sonst wären halt sonderzeichen vermurkst…
es gibt auch die unterscheidung zwischen text- und html-emails, vllt hats damit was zu tun?

Hi,

achso bei mir klappte es so eigentlich immer

lg flo

Ja, so habe ich das früher auch gemacht, aber dann werden Umlaute in der Email nicht korrekt dargestellt. Daher das utf8. Oder wie bekomme ich das dann mit den Umlauten hin?
Danke!
munich

hi,

ne ganz simple lösung wäre es wenn du ae statt ä schreibst …schaut nicht so toll aus aber ich hab kein bock mehr auf den ganzen kodinierungsscheiß

lg flo

Ja, das ginge schon, aber wenn ich Text von nem User einfügen will wird der sich sicher nicht daran halten… Hat sonst jemand eine Lösung dafür? Ich dachte eigentlich die hätte ich mit der utf-8-Mail gefunden, aber jetzt ist eben dieses Problem da. Am besten wäre es, wenn mir jemand sagen könnte, wie ich die utf-8-Mail korrekt hinbekomme, alternativ eben wie ich die Umlaute kodieren muss.
Jemand eine Idee?
Danke!

Verwende eine fertige Mailer-Klasse wie PHPMailer

Hi,

wäre auch nicht so schlimm

Aber auch keine saubere lösung :wink:

Naja, es muss doch eine Möglichkeit geben die Zeichen korrekt als utf-8 zu übergeben! Die ganze Webseite ist auch in utf-8 kodiert und da wird alles korrekt dargestellt, darum verstehe ich nicht, warum das in der Mail anders ist. Noch jemand eine Idee?
Danke!

Ja, siehe hier
http://phpforum.de/forum/showthread.php?t=217904&redir_from=231755#Problematik

[code]$to = ‘Ein Name <’ . $_GET[‘whatever’] . ‘>’;
$subject = ‘Betreff’;
$text = ‘Hier könnte deine Werbung stehen!’;
$from = ‘From: Dein Name deine@mail.de’ . “\n”;
$from .= ‘Reply-To: antworten@deinemail.de’ . “\n”;
$from .= ‘Content-type: text/html; charset=utf-8’ . “\n”;

if(mail($to, $subject, $text, $from))
{
echo ‘Erfolgreich versendet!’ . “\n”;
}[/code]

Super, Lenz! Ich danke vielmals!