mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 19.03.2024 10:09 Benutzername: Passwort: Auto-Login

Thema: [php] Müll mit mail() wenn Charset=utf-8 vom 20.06.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] Müll mit mail() wenn Charset=utf-8
Seite: 1, 2  Weiter
Autor Nachricht
beeviZ
Threadersteller

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 20.06.2005 22:07
Titel

[php] Müll mit mail() wenn Charset=utf-8

Antworten mit Zitat Zum Seitenanfang

ey ich versuch gerade ne simple mail per php zu verschicken. das sieht so aus:

Code:

$header = "From: Absender <info@absender.de>\r\n";
$header .= "Content-Type: text/plain; Charset=utf-8\r\n";

mail($empfaenger,"Betreff","Dum di dum $bla usw ...",$header);


funktionieren tut das. Die mail kommt als UTF-8 an, der empfänger ist auch richtig angegeben. Allerdings schreibt der an den Anfang jeder verdammten mail sonen scheiß wie:
Zitat:
Message-Id: <20050620210442.C7ACD3D9FE@dd5120.kasserver.com>
Date: Mon, 20 Jun 2005 23:04:42 +0200 (CEST)
X-UIDL: ><J!!a;R!!0mo"!!]*#!

Wenn ich den Content Type und den Charset, nein ich glaub eigentlich nur den Charset, weglasse, dann funktionierts. Sobald UTF-8 dann steht der müll von oben in der mail. Woran liegt das, wie kann ich das ändern, und überhaupt was soll der scheiß?
  View user's profile Private Nachricht senden
Honk

Dabei seit: 20.08.2003
Ort: Bremer Outback
Alter: 45
Geschlecht: Männlich
Verfasst Mo 20.06.2005 23:40
Titel

Antworten mit Zitat Zum Seitenanfang

das sind doch nur header, oder?
und die siehst du in der mail, also da wo eigentlich der mailbody sein sollte, ja?

wie sieht denn der "quellcode" der mail aus, im vorher/nachher-vergleich?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
beeviZ
Threadersteller

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.06.2005 01:24
Titel

Antworten mit Zitat Zum Seitenanfang

klar. da wo $header steht is header. das is logisch *Huch*)
und das was da im mailbody steht sollte wohl auch eigentlich in den header denke ich. isses nur nich. nur warum?


wie komm ichn bei ner text/plain email an den "quelltext"? oder wat meinste?

der header is komischerweise bei beiden so ziemlich gleich, ausser das wenn ich den charset weglasse iso-8859-1 is, und nich utf-8 logischerweise *g*


hatte ursprünglich nen code von php.net. der funktionierte aber genauso wenig. scheint also mein php müll zu sein.
Code:
/* Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header.
   setzen */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* zusätzliche Header */
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$headers .= "From: Geburtstags-Erinnerung <geburtstag@example.com>\r\n";
$headers .= "Cc: geburtstagsarchiv@example.com\r\n";
$headers .= "Bcc: geburtstagscheck@example.com\r\n";


hab noch altes 4.3.1 laufen. könnt das daran liegen?
  View user's profile Private Nachricht senden
chrikle

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Di 21.06.2005 10:14
Titel

Antworten mit Zitat Zum Seitenanfang

Soweit ich weiß brauchste bei ner "normalen" mail keinen Content-Type setzten.
Also sollte dein Script so funktioneiren:

Code:
mail($Empfaenger, $Betreff, $Nachricht, "From: Absender <info@absender.de>")


Anders sieht das bei HTML-Mails aus. Da musst du entsprechende Headers mitliefern.

Schau mal hier nach:
Webmaster-Ressource | HTML-eMails verschicken

Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
beeviZ
Threadersteller

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.06.2005 10:30
Titel

Antworten mit Zitat Zum Seitenanfang

hmm. wie sende ich denn utf-8 wenn ich text/plain verschicke? ich mein, wenn ich statt "Content-Type: text/plain; charset=UTF-8" einfach nur "charset=UTF-8" schreibe, dann schickter die mail auch als iso-8859-1, und schreibt "charset: utf-8" in den messagebody. auch nich das wahre. und gesendet werden muss das leider als utf8, weil die ganze seite in utf8 is, und das formular aus dem gesendet wird auch. und die ganze seite jetzt noch auf iso-8859-1 umzustellen is wesentlich komplizierter als die mail als utf-8 zu schicken. denk ich. weiß nich.
  View user's profile Private Nachricht senden
chrikle

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Di 21.06.2005 10:36
Titel

Antworten mit Zitat Zum Seitenanfang

Jo, dann mach es doch so, wie im LINK beschrieben:

Code:
1 <?php
 2
 3 $Empfaenger = "eine@mailadresse.de";
 4 $Betreff = "Meine erste HTML-Mail";
 5
 6 $Nachricht = "
 7 <html>
 8 <head>
 9 <title>Meine erste HTML-Mail</title>
10 </head>
11 <body bgcolor=\"blue\" text=\"white\">
12 <font face=\"arial\" size=\"4\">Dies ist meine erste HTML-Nachricht mit PHP</font>
13 </body>
14 </html>
15 ";
16
17 $Header = "MIME-Version: 1.0\n";
18 $Header .= "Content-type: text/html; charset=utf-8\n";
19 $Header .= "From: Mein Name <meine@mailadresse.de>\n";
20
21 mail($Empfaenger, $Betreff, $Nachricht, $Header);
22
23 ?>


Wobei du natürlich bei den Zeilen 7-14 auch ganz normalen Text schreiben kannst. Sprich ohne Tabellen-Krams *zwinker*

Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
beeviZ
Threadersteller

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.06.2005 10:46
Titel

Antworten mit Zitat Zum Seitenanfang

ok danke. ich werd heute abend mal schauen. wobei ich eigentlich drauf verzichten wollte html mails zu verschicken => seuche * grmbl *
  View user's profile Private Nachricht senden
chrikle

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Di 21.06.2005 10:50
Titel

Antworten mit Zitat Zum Seitenanfang

Sonnst versuch es nochmal mit dieser Schreibweise:

Variante 1:
Code:
mail($Empfaenger, $title, $message, 'From: Absender <info@absender.de>'."\r\n".'Content-Type: text/plain; charset="UTF-8"');


Variante 2 (UTF nicht in Anfürhungszeichen ?):
Code:
mail($Empfaenger, $title, $message, 'From: Absender <info@absender.de>'."\r\n".'Content-Type: text/plain; charset=UTF-8');


Wichtig dabei sind die Notationen. Genau drauf achten *zwinker*

Gruß
Chris


Zuletzt bearbeitet von chrikle am Di 21.06.2005 10:56, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen charset -> ich blicks nicht
[javascript] mootools ajaxrequest charset
Charset 8859-1 - Probleme mit Umlauten
Charset vorhanden dennoch keine Umlaute
[Hilfe] IE macht müll
Browser zeigt richtigen Titel, Google & Co. indizieren Müll
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.