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"

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 />";
?>
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
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 />";
?>
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.
Alors MERCI à vous de bien vouloir me donner un peu de votre temps.

Cdt,
Raphaël