我的老师要求我们能够通过我们的网站发送电子邮件。当我说法语时,我尝试在标题中使用charset = UTF-8。它适用于邮件地址,标题,带有特殊字符的名称,但不适用于邮件本身的邮件...
我总是会收到 =?UTF-8?B?w6nDqSDDqMOoIMOgw6Agw6fDpw ==?= 这样的消息。
这是我的php代码:
function contenuContactHTML(){
echo ' <div id="contenu">
<h1> Formulaire de Contact </h1>
<form action="" method="post">
Votre Nom: <input type="text" name="prenomFormulaire"><br>
Votre E-mail: <input type="text" name="emailFormulaire"><br>
Sujet du message : <input type="text" name="sujetMailFormulaire"><br>
Votre Message: <textarea cols="40" rows="6" name="messageFormulaire" maxlength="4000" placeholder="message limité à 4000 cractères" required></textarea><br />
<input type="submit" name="envoieMailContact" value="Envoyer E-Mail">
</form>
</div><!-- #contenu -->
</div><!-- #centre --> ';
envoieMail();
}
function envoieMail(){
if(isset($_POST['envoieMailContact'])){
$a = <i> My email adress</i>;
$sujet = "=?UTF-8?B?".base64_encode($_POST['sujetMailFormulaire'])."?=";
$de = "=?UTF-8?B?".base64_encode($_POST['emailFormulaire'])."?=";
$messFormulaire = $_POST['messageFormulaire'];
$message = "=?UTF-8?B?" . base64_encode($messFormulaire) . "?=";
$entete = "From: ". $de ."\r\n"
."MIME-Version: 1.0" . "\r\n"
.'Content-type: text/html; charset=UTF-8' .'\r\n';
mail($a, $sujet, $message, $entete);
echo "<script language='JavaScript'>alert('Message envoyé !')</script>";
}
}
以下是我收到的邮件示例:
电子邮件地址:mické@hotmail.com
sujet(标题):onépasdespigeaôns
邮件内容(留言):
=?UTF-8 2 B 4 YXplcnR5dWlvcF4kDQpxc2RmZ2hqa2xtw7nCtQ0Kd3hjdmJuLDs6DQrCsibDqSInKMKnw6ghw6fDoCkt?=