je rencontre un problème sur l'envoi d'un mail d'alerte. Je récupére toutes les fiches d'une base qui sont comprisent dans un intervalle de date. Je concatène chaque résultat dans une variable. Ensuite, j'envois mon mail au format HTML. Lors de la concatènation, si je mets "\n" à la fin, à la réception de mon message dans Thunderbird, j'ai bien 19 résultats (nombre attendus). Par contre, si je mets "<br />" à la fin de la concaténation, certains résultats ne sont plus présents dans le coprs du message, je me retrouve avec 9 ou 10 résultats ... Je n'y comprends rien.
Voici mon code :
Code : Tout sélectionner
while($row_docs_echeance = mysql_fetch_array($result_docs_echeance)) {
// Récupérations des valeurs
$fichedocid = $row_docs_echeance['fichedocid'];
$titre = tronque($row_docs_echeance['titre']);
// Lien dans le mail
// Avec <br />, l'affichage est bon, mais pas à la réception du message dans Thunderbird. Par contre avec \n, rien ne va à la ligne mais j'ai tout les résultats.
$lien .= $titre."-<b>". $fichedocid ."</b><br />"; }
// Envois du mail au client extérieur
$sujet = "Alerte documents arrivant à échéance";
$from = "From:$email_admin\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset=ISO-8859-1\n";
$from .= "Return-Path: $email_admin\n";
$from .= "Reply-To: $email_admin\n";
$corps = "<link rel=stylesheet href='http://$serveur/css/mail.css' type=text/css>\n";
$corps .="<TABLE WIDTH=760 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD>
<IMG SRC='http://$serveur/images/new_entete2.jpg' BORDER=0 ALT=''>
</td>
</TR>
<TR>
<TD>
</td>
</TR>
<tr>
<td>
<span class='titre_cellule'>
<b>Voici la liste du ou des document(s) qui vont arriver à échéance pour le mois de : $mois_encours</b><br />
$lien
</span>
<span class='avertissement'>
<br /> Merci de vous connecter sur le portail, et d'assurer le cycle de vie de ces documents.<br />
</span>
</td>
</tr>
<TR>
<TD>
</td>
</TR>
</TABLE>
<br>";
print $corps."<br />"; // J'affiche le corps du message dans le navigateur, tout est Ok !
if (mail($email_admin,mb_encode_mimeheader($sujet,"ISO-8859-1","Q"),$corps,$from)) {
if ($pass_alerte != 1) {
ecrire_log("Document échéance","Alerte sur les documents arrivant à échéance envoyés avec succés");
$alerte .= " Alerte sur les documents arrivant à échéance envoyés avec succés.<br />";
}
} else {
if ($pass_alerte != 1) {
ecrire_log("Document échéance","Alerte sur les documents arrivant à échéance non envoyés.");
$alerte .= " Alerte sur les documents arrivant à échéance non envoyés.<br />";
}
}
Merci.