Hallo,
ich habe ein Script, mit dem sich User für einen Newsletter anmelden können. Ich habe das Ganze zwar bereits mit UTF-8 kodiert, dennoch werden Umlaute im Namen nicht korrekt per Mail an mich geschickt. Hat jemand eine Ahnung, woran es liegen kann?
Danke
Jens
PHP-Code:
<?php
// *** Deine Mailadresse (Empfänger) ***
$mail_to="meine.mail@adresse.de";
// *************************************
$from_name=$_POST['fromname'];
$from_mail=strtolower($_POST['frommail']);
$mail_subject="Newsletter Anmeldung";
$mail_text=$_POST['checkbox'];
$send=$_POST['s'];
if(trim($from_name)=="") $err_text.="Bitte den Namen angeben.<br>";
if(trim($from_mail)=="")
$err_text.="Bitte E-Mail-Adresse eingeben.<br>";
else
if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
$err_text.="Bitte eine gültige E-Mail-Adresse angeben.<br>";
if($mail_text=="checkbox") $mail_subject="Newsletter Deaktivierung";
if($mail_text=="checkbox") $mail_text="Der Newsletter wurde vom User abgemeldet.";
// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);
if(($send=="1") && (isset($err_text))) {
echo "<p><big><b>Fehler:</b></big><br>";
echo "$err_text</p>";
}
if(($send!="1") || (isset($err_text)))
{
?>
<link href="css/main.css" rel="stylesheet" type="text/css">
<link href="css/menue.css" rel="stylesheet" type="text/css">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<table border=0 cellspacing=2 cellpadding=0 width=100%>
<tr><td nowrap align=right class="text-normal"> Name:</td>
<td> </td>
<td width=100% class="text-normal"><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>" class="text-normal"></td></tr>
<tr>
<td nowrap align=right class="text-normal">E-Mail:</td>
<td></td>
<td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>" class="text-normal"></td></tr>
<tr><td nowrap align=right class="text-normal"> </td><td></td>
<td width=100%> <p class="text-normal">
Newsletter abmelden
<input type="checkbox" name="checkbox" value="checkbox">
</p></td>
</tr>
<tr><td nowrap align=right valign=top class="text-normal"> </td><td></td>
<td width=100%> </td></tr>
<tr><td></td><td></td><td>
<input type="hidden" value="1" name="s">
<input type="submit" value="abschicken" name="submit">
</td></tr>
</table>
</form>
<?php
} else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.='Content-type: text/plain; charset=UTF-8' . "\r\n";
$header.="X-Mailer: PHP-FormMailer \n";
$mail_date=gmdate("D, d M Y H:i:s")." +0000";
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Daten erfolgreich verarbeitet.</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Bei der Verarbeitung der Daten ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
?>