Bonjour à tous,

Je suis en train de réaliser un envoi d'e-mail avec la librairie Swiftmailer. L'envoi d'e-mail marche bien mais le problème est que le code PHP, et SQL dans mon template ne sont pas interprétés. J'aimerais savoir s'il y a une solution pour remédier à ça. J'utilise la fonction PHP : file_get_contents() pour récupérer les contenus html et texte.

Merci par avance !

Voici le code ci-dessous :

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
 
// Envoi de la newsletter
$sql = "SELECT * FROM newsletter WHERE statu=1";
$req = $db->prepare($sql);
$req->execute() or die(print_r($req->errorInfo()));
$row = $req->fetch();
 
$to = $row['client_email'];
 
// contenu html
$html = file_get_contents(dirname(__FILE__)."/newsletter.php");
// contenu texte
$text = file_get_contents(dirname(__FILE__)."/newsletter.txt");
 
// create transport
$transport = (new Swift_SmtpTransport('smtp.domaine.com', 25));
 
// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($transport);
 
// create message
$message = (new Swift_Message())
   ->setSubject($nom_news)
   ->setFrom(['webmaster@domaine.com' => 'Webmaster'])
   ->setTo([$to => 'Client mail'])
   ->setBody($html, 'text/html') 
   ->addPart($text, 'text/plain');
 
// send email
$result = $mailer->send($message);
 
if ($result) {
    echo "Newsletter envoyée à : ".$to;
}