发送时,PHP邮件为空

时间:2016-07-27 14:54:55

标签: php function email

当我用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));


?>

2 个答案:

答案 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;