Newsletter reception html et texte - PHP - Programmation
Marsh Posté le 31-01-2006 à 08:39:12
ah, le gros problème d'envoi d'images. Pour le moment je n'ai pas réussi à faire suivre les images d'une page web dans un message via la fonction mail(). Mais la solution la plus fiable apparement serait de mettre des liens vers les images en absolu vers le site web en question.
Marsh Posté le 31-01-2006 à 08:49:04
mais vu que tu as déjà fait ça... Ah mais attention! Dans ton code HTML qui sera inclus dans ta varibale. Mets des \ devant tous les " -> \"
uniquement dans le code html bien entendu.
Marsh Posté le 30-01-2006 à 18:39:42
Bonjour,
Voilà je suis une débutante complète pour tous ce qui concerne code ect...
J'ai installé sur mon site un logiciel de Newsletter pour ceux qui connaissent : Persomailing.
Je souhaite envoyer ma newsletter et que les personnes qui la recoivent la visualisent soit en html soit en texte suivant leur boite de messagerie car évidemment tout le monde ne regarde pas ces mails sur Outlook.
Quelqu'un m'a donné un code en php qui genere le html et le text suivant la boite de reception mais impossible de le faire fonctionner, je pense que je ne fais pas comm'y faut les choses. Si quelqu'un veut bien m'expliquer comment on utilise ce code et où je dois le mettre.
En sachant que j'envoie mes newsletters via une page admin.php3 sur le net.
Le voici tel que l'on me l'a donné :
<?php
//-----------------------------------------------
//DECLARE LES VARIABLES
//-----------------------------------------------
$email_expediteur='votre_mail@fai.fr';
$email_reply='email_de_reponse@fai.fr';
$message_texte='Bonjour,'."n\n".'Voici un message au format texte';
$message_html='<html>
<head>
<title>Titre</title>
</head>
<body>
<p>Test de message</p>
</body>
</html>';
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "Anthony Rossetto" <'.$email_expediteur.'>'."\n";
$headers .= 'Return-Path: <'.$email_reply.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = 'This is a multi-part message in MIME format.'."\n\n";
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_texte."\n\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_html."\n\n";
$message .= '--'.$frontiere.'--'."\n";
mail($destinataire,$sujet,$message,$headers);
?>
Le voici avec mes modifications à moi : j'ai donc intégré le code sous dreamweaver, j'ai mis mon adresse mail, et j'ai insérer la page html que j'avais faite pour la mise en page de la newsletter. J'ai collé tout ce code dans la page admin.php3 de la gestion de ma newsletter et j'ai fait envoyé, le résultat sous Outlook est qu'une première partie en hmtl s'affiche mais sans les images les couleurs ect... et en dessous apparait le restant du code de la ligne 'genere ... jusqu'à la fin du script"
<?php
//-----------------------------------------------
//DECLARE LES VARIABLES
//-----------------------------------------------
$email_expediteur='gaelle79@free.fr';
$email_reply='gaelle79@free.fr';
$message_texte='Bonjour,'."n\n".'Voici un message au format texte';
$message_html='<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #CCCCFF;
}
.Style1 {color: #FFFFFF}
.Style5 {color: #000000}
.Style7 {
color: #FFFFFF;
font-family: Georgia, "Times New Roman", Times, serif;
font-weight: bold;
font-size: 12px;
}
.Style8 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 12px;
color: #666666;
}
a:link {
color: #000000;
}
a:visited {
color: #000000;
}
.Style9 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 9px;
}
.Style10 {font-size: 10px}
-->
</style></head>
<body><td bordercolor="#FFFFFF" ><div align="center">
<table width="60" border="1">
<tr>
<td><img src="http://pastab.free.fr/imagesite/logo.jpg" width="800" height="76" border="0" align="middle"></td>
</tr>
<tr>
<td><div align="center">
<p><br>
<span class="Style7">NEWSLETTER du 29 Janvier 2006 </span></p>
</div>
<table width="590" border="1" align="center" class="Style1">
<tr>
<td width="580" height="166" bgcolor="#FFFFFF" ><div align="center" class="Style5">
<p align="center" class="Style8"><strong> </strong><span class="Style10">------DES IDEES, DES IDEES..... pour joindre l'utile à l'agréable ----- </span></p>
<p align="center" class="Style8"><strong>Petit conseil pour l'entretien de vos toiles</strong></p>
<p align="center" class="Style8"><em>comment les laver ?</em></p>
<p align="center" class="Style8">A bientôt sur <a href="mon'>http://pastab.free.fr/">mon site </a></p>
<p align="center" class="Style8">Gaëlle<br>
</p>
</div></td>
</tr>
</table>
<br></td>
</tr>
<tr>
<td bgcolor="#ECCACA"><div align="center" class="Style9">Pour vous désabonner de la Newsletter, il vous suffit de le faire à partir du lien Newsletter situé sur mon site. </div></td>
</tr>
</table>
</div></td>
</tr>
<tr align="center" valign="top">
<td border="1"><div align="center"></div> <div align="center"><br>
</div> </td>
</tr><tr align="center" valign="top">
<p align="center"> </p>
</body>
</html>';
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "Gaelle" <'.$email_expediteur.'>'."\n";
$headers .= 'Return-Path: <'.$email_reply.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = 'This is a multi-part message in MIME format.'."\n\n";
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_texte."\n\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_html."\n\n";
$message .= '--'.$frontiere.'--'."\n";
mail($destinataire,$sujet,$message,$headers);
?>
Si vous pouvez m'aider, je vous en serais très reconnaissante car je n'y connais strictement rien en code et j'ai fait plusieurs essai jusqu' 2 heures du mat' sans résultat positif . Merci par avance. Evidemment, si quelqu'un a une solution plus simple à me proposer je suis preneuse.
Merci
Gaelle