当我用PHP发送邮件时,邮件是空的,这可能是因为我认为\ r \ n有问题。 我无意解决这个问题。
<?php
$mail = 'adrien.collery@gmail.com';
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail))
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
$message_txt = "Salut à tous, voici un e-mail envoyé par ";
$boundary = "-----=".md5(rand());
$sujet = "Hey mon ami !";
$header = "From: \"AC\"<adrien.collery@gmail.com>".$passage_ligne;
$header.= "Reply-to: \"AC\" <adrien.collery@gmail.com>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header .= "X-Priority: 3".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
$message = $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
$message.= $passage_ligne."--".$boundary.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
var_dump(mail($mail,$sujet,$message,$header));
?>
答案 0 :(得分:0)
您可以删除$message_txt = "Salut à tous, voici un e-mail envoyé par ";
中的à和é以查看这是否有帮助?
答案 1 :(得分:0)
从$ boundary
中删除你的-----$boundary = "-----=".md5(rand());
应该看起来像他的
$boundary = md5(rand();
并在Content-Type值后删除$ passage_ligne。
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
应该是这样的:
$header.= "Content-Type: multipart/alternative; boundary=\"$boundary\"".$passage_ligne;