Bonjour,
N'étant pas un habitué du forum, si vous jugez qu'il faut déplacer ma question, je vous en serai reconnaissant.
Voilà, j'ai crée du code PHP pour envoyer des emails, en y introduisant des fichiers HTML, sans aucune difficulté. Ces fichiers sont appelés par file_get_contents() ou file()...
La difficulté est apparue lorsque j'ai introduit des variables dans le fichier HTML, déclarées préalablement dans le code PHP.
Voici un exemple, dans lequel j'essaie d'envoyer dans le HTML la variable $nom, mais j'obtiens ceci : Bonjour "$nom"
Pourtant si je copie directement le contenu du fichier HTML dans la variable $msg, cela fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?php /* Déclaration de variables */ $Fic_Html = 'mailing2.htm'; $Societe = 'ma_ste'; $Expediteur ='contact@mon_site.fr'; $nom = 'invité'; //== HEADERS DU MAIL //============================ $headers = 'MIME-Version: 1.0'."\n"; $headers .= 'Content-type:text/html; charset=ISO-8859-1'."\r\n"; $headers .= 'From: '.$Societe.' <'.$Expediteur.'>'."\n"; $headers .= "\r\n"; //== MESSAGE HTML == $msg ='"'; //== guillemets pour encapsuler le code HTML == $msg .= file_get_contents($Fic_Html); //== essayé aussi: file($Fic_Html) == $msg .='"'; //== guillemet de fermeture du code HTML $msg .= "\r\n"; //== les guillements de début et de fin c'est pour la forme mais ils ne changent rien //== bien au contraire, ils apparaissent à l'affichage. //== FEED BACK D\'ENVOI DU MAIL //============================ //== if(mail($dest, $objet, $msg, $headers)) echo $msg."<br />"; ?>
Ne vous moquez pas, c'est certainement basic comme question pour vous, mais étant débutant, j'ai beau me documenter, impossible de trouver une solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php /* Déclaration de variables */ $Fic_Html = 'mailing2.htm'; $Societe = 'ma_ste'; $Expediteur ='contact@mon_site.fr'; $nom = 'invité'; //== HEADERS DU MAIL //============================ $headers = 'MIME-Version: 1.0'."\n"; $headers .= 'Content-type:text/html; charset=ISO-8859-1'."\r\n"; $headers .= 'From: '.$Societe.' <'.$Expediteur.'>'."\n"; $headers .= "\r\n"; //== MESSAGE HTML == $msg =" <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'> <html> <head> <meta content='text/html; charset=ISO-8859-1' http-equiv=Content-Type> <style> span.texte2 { font-family: verdana, arial; font-size: 9.0pt; color:#666666; text-decoration:none;} a.lien1 { list-style-type:none; font-family: verdana, arial; font-size: 9.0pt; color: #0088D1; text-decoration: underline;} a.lien1:link {} a.lien1:hover { text-decoration: underline;} </style> </head> <body bgColor='#ffffff'> <div align=center> <table cellpadding=0 width=700pt align=center> <tr> <td align=right style='border-style:none;'> <div style='margin:0 20px 5px 0; text-align:center;'> <span class='texte2'>Bonjour <b>".$nom."</b>, <i>si vous ne parvenez pas à lire cet email, consultez <a class='lien2' href='http://www.mon_site.fr'> la version en ligne</i></a></span> </div> </td> </tr> </table> </div> </body> </html>"; $msg.="\r\n"; //== FEED BACK D\'ENVOI DU MAIL //============================ //== if(mail($dest, $objet, $msg, $headers)) echo $msg."<br />"; ?>
Alors MERCI à vous de bien vouloir me donner un peu de votre temps.
Cdt,
Raphaël
Partager