Faire des retours à la ligne dans un mail

will.smith Messages postés 264 Statut Membre -  
will.smith Messages postés 264 Statut Membre -
Bonjour,

j'ai fais une page newsletter et quand j'envoy un mail je le reçoit bien mais il as oublié de faire les retours à la ligne

et il me donne ce résultat

Voici les derni&#3656;res news de http://monsite :<br />a propos de ta newsletters(leSat, 21 Feb 2009 13:44:50)ma signature


donc il as oublié de faire les retour à la ligne a chaque phrases et.c.......

donc voilà le code

// On récupère les 5 dernières news
$news = mysql_query('SELECT contenu, titre, timestamp FROM news ORDER BY id DESC LIMIT 0, 5');

$fichier_message = 'Voici les dernières news de http://monsite :<br />'; //on définit le message
 
    while($donnee = mysql_fetch_assoc($news)) 
    {
    $fichier_message .= ''.$donnee["titre"].'(le'.date("D, d M Y H:i:s",$donnee["timestamp"]).')';  //on ajoute les news au message
    }
 
$fichier_message .= 'ma signature'; //on termine le message


j'ai pensé à mettre

    // On place le titre et le contenu dans des variables simples
    $fichier_message= stripslashes($donnees[fichier_message]);
 


en sous de

$fichier_message .= 'ma signature'; //on termine le message

mais il n'a pas voulu le faire les retours à la ligne

5 réponses

InAme19 Messages postés 573 Statut Membre 62
 
tu pourrais essayer un str_replace('\n','<br>')
Je ne suis pas sûr de la notation, à vérifier ;)
0
will.smith Messages postés 264 Statut Membre 10
 
un code comme ça

// On récupère les 5 dernières news
$news = mysql_query('SELECT contenu, titre, timestamp FROM news ORDER BY id DESC LIMIT 0, 5');

$str_replace = 'Voici les dernières news de http://monsite.com :'; //on définit le message
 
    while($donnee = mysql_fetch_assoc($news)) 
    {
    $str_replace .= ''.$donnee["titre"].'(le'.date("D, d M Y H:i:s",$donnee["timestamp"]).')';  //on ajoute les news au message
    }
 
$str_replace .= 'ma signature'; //on termine le message
 
     // On place le titre et le contenu dans des variables simples
str_replace('\n','<br />'); 


ps je n'ai pas éssayé car il y as souci avec mon serveur

mais tu me diras si c'est comme à peux prés

merci
0
will.smith Messages postés 264 Statut Membre 10
 
re j'ai tésté

il y as une érreur :

Warning: Wrong parameter count for str_replace() in /mnt/144/sdb/b/c/le.coffre/newsletter/newsletter.php on line 40

donc j'ai mis :

// On récupère les 5 dernières news
$news = mysql_query('SELECT contenu, titre, timestamp FROM news ORDER BY id DESC LIMIT 0, 5');

$str_replace = 'Voici les dernières news de [monsite] :'; //on définit le message
 
    while($donnee = mysql_fetch_assoc($news)) 
    {
    $str_replace .= ''.$donnee["titre"].'(le'.date("D, d M Y H:i:s",$donnee["timestamp"]).')';  //on ajoute les news au message
    }
 
$str_replace .= 'ma signature'; //on termine le message
 
     // On place le titre et le contenu dans des variables simples
str_replace('\n','<br />'); 


merci de ton aide
0
Jérôme Fafchamps
 
Deux solutions, email au format texte pur (ASCII ?) ou format HTML.

J'opterai la solution 2, nous sommes en 2009, les navigateurs, software d'email lisent les balises html.

Ainsi dans ton corps, ajoutez un <br /> :

http://www.01php.com/fiche-sources-7.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
will.smith Messages postés 264 Statut Membre 10
 
merci en faite voilà mon code de la page newsletter.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Envoi de la newsletter</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-15" />
<link href="../design/par_default.css" rel="stylesheet" media="screen" type="text/css" title="Design" />
<link href="../design/scode.css" rel="stylesheet" media="screen" type="text/css" title="Design" />
</head>
<body>
                                    <div class="cadre_du_haut">
									<?php include("../menu/menu_du_haut.php"); ?>
									</div>
									<!-- fin div class="cadre_du_haut" -->
<br />
									<div class="cadre_du_menu_de_gauche">
									<?php include("../menu/menu_de_gauche.php"); ?>
									</div>
									<!-- fin div class="cadre_du_menu_de_gauche" -->
									<div class="cadre_du_programme">
									
									<h1>Envoie de la newsletter</h1>

<?php
// On se connecte
	  include("../includes/connect01.php");
 
// On récupère les 5 dernières news
$news = mysql_query('SELECT contenu, titre, timestamp FROM news ORDER BY id DESC LIMIT 0, 5');

$str_replace = 'Voici les dernières news de monsite :'; //on définit le message
 
    while($donnee = mysql_fetch_assoc($news)) 
    {
    $str_replace .= ''.$donnee["titre"].'(le'.date("D, d M Y H:i:s",$donnee["timestamp"]).')';  //on ajoute les news au message
    }
 
$str_replace .= 'ma signature'; //on termine le message
 
     // On place le titre et le contenu dans des variables simples
str_replace('\n','<br />'); 
 
 
//on récupère de la table newsletter les personnes inscrites
$liste_vrac = mysql_query("SELECT email FROM newsletter");
 
//on définit la liste des inscrits
$liste = '';
    while ($donnees = mysql_fetch_assoc($liste_vrac))
    {
    $liste .= ','; //on sépare les adresses par une virgule
    $liste .= $donnees['email'];
    }
$message = $fichier_message;
$destinataire = $liste;
//$destinataire = ''; //on adresse une copie à l'administrateur
 
$date = date("d/m/Y");
 
$objet = "Newsletter de monsite du $date"; //on définit l'objet qui contient la date
 
//on définit le reste des paramètres
$headers  = 'MIME-Version: 1.0' . '\r\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1' . '\r\n';
$headers .= 'From: monsite@monsite.fr' . '\r\n'; //on définit l'expéditeur
$headers .= 'Bcc:' . $liste . '\r\n'; //on définit les destinataires en copie cachée pour qu'ils ne puissent pas voir les adresses des autres inscrits
 
    //on envoie l'e-mail
    if ( mail($destinataire, $objet, $fichier_message, $headers) )
    {
	echo '<p class="texte_blanc">Envoi de la newsletter réussi.</p>';
	
    }
    else
    {
	echo '<p class="texte_blanc">Échec de lors de l\'envoi de la newsletter.</p>';
	
    
} //Fin de la condition de validité du formulaire
?>
<p class="texte_blanc">Message ajouté à la newsletter
<br />
<form method="post" action="newsletter.php" name="formulaire" id="contenu">
<textarea cols="30" rows="10" name="message"></textarea>
<br />
<br />
<input type="submit" value="Envoyer la newsletter" />
</form>
<br /><u>Liste des inscrits :</u><br />
<table>
<tr>
<th>e-mail</th>
</tr>
<?php

 
$liste_inscrits_vrac = mysql_query("SELECT email FROM newsletter"); //on récupère la table newsletter en vrac
    while ($donnees = mysql_fetch_assoc($liste_inscrits_vrac))
    {
?>
 
<tr>
<td><?php echo ($donnees['email']); ?></td>
</tr>
 
<?php
    }
?>
</table></p>

									</div>
									<!-- fin div class="cadre_du_programme" -->
</body>
</html>


et les érreurs sont :

Warning: Wrong parameter count for str_replace() in /mnt/144/sdb/b/c/le.coffre/newsletter/newsletter.php on line 40

Warning: mail() [function.mail]: Invalid mail. to = [] in /mnt/144/sdb/b/c/le.coffre/newsletter/newsletter.php on line 68

Envoi de la newsletter réussi.

merci
0