Svp probleme avec fonction mail() en php
houria
-
ordipard Messages postés 155 Date d'inscription Statut Membre Dernière intervention -
ordipard Messages postés 155 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de mettre en place une newsletter. mais j'ai en petit probleme pour l'envoie de cette newsletter a tous les membres.
voici mon code:
$to = 'adresse_destinataire@gmail.com';
$date=date("d-m-Y");
$subject = 'newsletter du '.$date;
// Headers
$headers = 'From:lesbonstuyaux@gmail.com'."\n";
$headers = 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$headers .= "\r\n";
//CURL
$ch = curl_init("http://.../lister_annonces.php");
$fp = fopen("newsletter/newsletter5-".$date.".html", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
//message
$msg = file_get_contents("newsletter/newsletter5-".$date.".html");
// Function mail()
//mail($to, $subject, $msg, $headers);
if (mail($to,$subject,$msg,$headers))
{
echo "l email a ete envoye";
}
else
{
echo"erreur: email non envoye";
}
le mail s'envoie bien, mais le voie comme un fichier texte, c'est a dire, n'interprete pas les balises, donc mon mail est sous la forme:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
</br></br>
<img src="../logo.JPG" width="400" height="200"></br></br>
</div>
<p class="titre"><b>NEWSLETTER DU 06-05-2008</b></p></br>
<p class="preambule">
L e s b o n s t u y a u x ?
C'est quoi ?
L'Association les bons tuyaux (ALBT) n'a pas un but économique. Le but de l'ALBT est l'échange entre ses
membres de " bons tuyaux ", autrement dit d'informations utiles.
...
...
</p>
</br></br><p class="titre">touareg</p>
</br>voiture a vendre</br><img src="images/2007-Volkswagen-Touareg.png">
</br></br>
</br></br><p class="titre">test</p>
</br>test d'affichage d'annonces dans le document pdf, avec plusieur image
...
...
...
</html>
Si vous avez des idées pour faire en sorte que mon code html soit bien interpreté..
je vous en remercie d'avance..
je suis en train de mettre en place une newsletter. mais j'ai en petit probleme pour l'envoie de cette newsletter a tous les membres.
voici mon code:
$to = 'adresse_destinataire@gmail.com';
$date=date("d-m-Y");
$subject = 'newsletter du '.$date;
// Headers
$headers = 'From:lesbonstuyaux@gmail.com'."\n";
$headers = 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$headers .= "\r\n";
//CURL
$ch = curl_init("http://.../lister_annonces.php");
$fp = fopen("newsletter/newsletter5-".$date.".html", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
//message
$msg = file_get_contents("newsletter/newsletter5-".$date.".html");
// Function mail()
//mail($to, $subject, $msg, $headers);
if (mail($to,$subject,$msg,$headers))
{
echo "l email a ete envoye";
}
else
{
echo"erreur: email non envoye";
}
le mail s'envoie bien, mais le voie comme un fichier texte, c'est a dire, n'interprete pas les balises, donc mon mail est sous la forme:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
</br></br>
<img src="../logo.JPG" width="400" height="200"></br></br>
</div>
<p class="titre"><b>NEWSLETTER DU 06-05-2008</b></p></br>
<p class="preambule">
L e s b o n s t u y a u x ?
C'est quoi ?
L'Association les bons tuyaux (ALBT) n'a pas un but économique. Le but de l'ALBT est l'échange entre ses
membres de " bons tuyaux ", autrement dit d'informations utiles.
...
...
</p>
</br></br><p class="titre">touareg</p>
</br>voiture a vendre</br><img src="images/2007-Volkswagen-Touareg.png">
</br></br>
</br></br><p class="titre">test</p>
</br>test d'affichage d'annonces dans le document pdf, avec plusieur image
...
...
...
</html>
Si vous avez des idées pour faire en sorte que mon code html soit bien interpreté..
je vous en remercie d'avance..
A voir également:
- Svp probleme avec fonction mail() en php
- Fonction si et - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Créer une adresse mail hotmail - Guide
8 réponses
oui jvien d'essayé mai garde quan même le iso c'est mieux pour les caracteres speciaux, tu a oublier un point avant le = du deuxieme $header .
Alors, ca marche un peu mieux, ma page html est bien envoyer par mail, mais un peu comme une piece jointe.. il fau que je clic dessu, et me l'ouvre dans un nouvel onglet..d'ailleur, il telecharge meme la page sur le pc, et l'ouvre dans le navigateur, et c'est pas du tout ce que je souhaite.. j'aimerais que toute la page sois dans le mail..
si tu as une petite idée stp...
si tu as une petite idée stp...
en fait, quand je fais mes headers ainsi :
// Headers
$headers = 'From:lesbonstuyaux@gmail.com'."\r\n";
$headers = 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$headers .= "\r\n";
donc ma page est dans mon mail, mais les balises html ne sont pas interpreté..
lorsque je remplace les \r\n par \n ma page est nikel, mais il faut la telecharger, et n'est pas directement mise dans le mail..
// Headers
$headers = 'From:lesbonstuyaux@gmail.com'."\r\n";
$headers = 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$headers .= "\r\n";
donc ma page est dans mon mail, mais les balises html ne sont pas interpreté..
lorsque je remplace les \r\n par \n ma page est nikel, mais il faut la telecharger, et n'est pas directement mise dans le mail..
tu a mis le point au deuxieme $headers?
oui j'ai bien mis le point au header, et j'ai changé le charset.. mais je pense que le probleme est bien avec les headers.
il doit peut etre pas etre declaré comme ca, car en fait, dans mon mail, il me renvoi carement l'entete qu'il affiche dans le corp du massage.. et c'est pas tres normal ca..
donc il doit pas etre reconnu comme entete je supose..
il doit peut etre pas etre declaré comme ca, car en fait, dans mon mail, il me renvoi carement l'entete qu'il affiche dans le corp du massage.. et c'est pas tres normal ca..
donc il doit pas etre reconnu comme entete je supose..
<?php
ini_set('SMTP', '192.168.1.254');
ini_set('smtp_port', '25');
ini_set('sendmail_from', 'g.boujeon@udaf-rhone.fr');
$to = 'g.boujeon@udaf-rhone.fr';
$date=date("d-m-Y");
$subject = 'newsletter du ';
// Headers
$headers = 'From:g.boujeon@udaf-rhone.fr'."\n";
$headers .= 'Mime-Version: 1.0'."\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "\n";
//CURL
//$ch = curl_init("http://.../lister_annonces.php");
//$fp = fopen("mail.html");
//curl_setopt($ch, CURLOPT_FILE, $fp);
//curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_exec($ch);
//curl_close($ch);
//fclose($fp);
//message
$msg = file_get_contents("mail.html");
// Function mail()
//mail($to, $subject, $msg, $headers);
if (mail($to,$subject,$msg,$headers))
{
echo "l email a ete envoye";
}
else
{
echo"erreur: email non envoye";
}
?>
Moi j'ai fai comme ca ca marche
il faut remodifier tes parametres
ini_set('SMTP', '192.168.1.254');
ini_set('smtp_port', '25');
ini_set('sendmail_from', 'g.boujeon@udaf-rhone.fr');
$to = 'g.boujeon@udaf-rhone.fr';
$date=date("d-m-Y");
$subject = 'newsletter du ';
// Headers
$headers = 'From:g.boujeon@udaf-rhone.fr'."\n";
$headers .= 'Mime-Version: 1.0'."\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "\n";
//CURL
//$ch = curl_init("http://.../lister_annonces.php");
//$fp = fopen("mail.html");
//curl_setopt($ch, CURLOPT_FILE, $fp);
//curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_exec($ch);
//curl_close($ch);
//fclose($fp);
//message
$msg = file_get_contents("mail.html");
// Function mail()
//mail($to, $subject, $msg, $headers);
if (mail($to,$subject,$msg,$headers))
{
echo "l email a ete envoye";
}
else
{
echo"erreur: email non envoye";
}
?>
Moi j'ai fai comme ca ca marche
il faut remodifier tes parametres
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour toi ca donne ca, essaye et tien moi au courant, j'ai mis les fonctions curl en commentaire je sais pas a quoi ca te sert donc remet les si tu veut en tous cas ca marche comme ca .
<?php
$to = 'adresse_destinataire@gmail.com';
$date=date("d-m-Y");
$subject = 'newsletter du '.$date;
// Headers
$headers = 'From:lesbonstuyaux@gmail.com'."\n";
$headers .= 'Mime-Version: 1.0'."\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "\n";
//CURL
//$ch = curl_init("http://.../lister_annonces.php");
//$fp = fopen("mail.html");
//curl_setopt($ch, CURLOPT_FILE, $fp);
//curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_exec($ch);
//curl_close($ch);
//fclose($fp);
//message
$msg = file_get_contents("newsletter/newsletter5-".$date.".html");
// Function mail()
//mail($to, $subject, $msg, $headers);
if (mail($to,$subject,$msg,$headers))
{
echo "l email a ete envoye";
}
else
{
echo"erreur: email non envoye";
}
?>
<?php
$to = 'adresse_destinataire@gmail.com';
$date=date("d-m-Y");
$subject = 'newsletter du '.$date;
// Headers
$headers = 'From:lesbonstuyaux@gmail.com'."\n";
$headers .= 'Mime-Version: 1.0'."\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "\n";
//CURL
//$ch = curl_init("http://.../lister_annonces.php");
//$fp = fopen("mail.html");
//curl_setopt($ch, CURLOPT_FILE, $fp);
//curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_exec($ch);
//curl_close($ch);
//fclose($fp);
//message
$msg = file_get_contents("newsletter/newsletter5-".$date.".html");
// Function mail()
//mail($to, $subject, $msg, $headers);
if (mail($to,$subject,$msg,$headers))
{
echo "l email a ete envoye";
}
else
{
echo"erreur: email non envoye";
}
?>
donc c'était une histoire de quottes et doubles quottes si j'ai bien compris.. en tout cas, j'ai fait copier coller de ce que tu m'a envoyé et ca marche parfaitement.. je t'en remercie vraiment.. ca fait presque une semaine que je suis sur cette histoire de mail! ! ! , ca fait plaisir! ! ! et c'est rageant de passer autant de temps sur si peu! !
mirci beaucoup! ! ! ! ! ;-)
mirci beaucoup! ! ! ! ! ;-)
au plaisir de t'avoir été d'une quelconque utilitée ;) c'est ca l'inconvenient avec le php on planche souvent sur une erreur alors que ca peut venir d'un point ou un guillemet oublié, c'est rageant !
@ bientot
;)
@ bientot
;)
juste une question pour info, a quoi sert la fonction curl ?
//CURL
$date=date("d-m-Y");
$ch = curl_init("http://les-bons-tuyaux.ch/houria/lister_annonces_nl.php");
$fp = fopen("newsletter/newsletter11-".$date.".html", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$msg = file_get_contents("newsletter/newsletter11-".$date.".html");
ma page est en php..je ne peut envoyer par mail des requete php..
donc curl sert a recuperer le resultat,et tout reformater en html.. pour avoir une belle page entierement en html..
je sais pas si c'est claire... mais ca peut te mettre le tout aussi en un fichier texte.. cest un peu comme si tu prenais une page web, et que tu demandais a t'afficher la source.. dans la source tu n'as pas de code php, mais le code generé en html..
voila..
$date=date("d-m-Y");
$ch = curl_init("http://les-bons-tuyaux.ch/houria/lister_annonces_nl.php");
$fp = fopen("newsletter/newsletter11-".$date.".html", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$msg = file_get_contents("newsletter/newsletter11-".$date.".html");
ma page est en php..je ne peut envoyer par mail des requete php..
donc curl sert a recuperer le resultat,et tout reformater en html.. pour avoir une belle page entierement en html..
je sais pas si c'est claire... mais ca peut te mettre le tout aussi en un fichier texte.. cest un peu comme si tu prenais une page web, et que tu demandais a t'afficher la source.. dans la source tu n'as pas de code php, mais le code generé en html..
voila..
mes balises html ne sont pas interpretés..