inclure mon bootstrap.css et image dans l'email

Par Microse, il y a 8 ans


Bonjour,
J'ai réalisé un petit code pour envoyer des mails, mais quand je les envoies ils arrivent bien mais ne prennent pas en compte le style et mon image , comment faire cela?.
voici mes fichier :
controller.php

public function loadTwig() { $loader = new Twig_Loader_Filesystem('MVC/view'); //folder wich contain the template $twig = new Twig_Environment($loader, array( 'cache' => false, 'charset' => "utf-8", 'debug' => true )); //for enabled the dump in twig = to var_dump in php $twig->addExtension(new Twig_Extension_Debug()); return $twig; } public function sendEmail($tabEmail) { var_dump($tabEmail); if($_SERVER['SERVER_NAME'] == 'localhost'){ $transport = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl'); $transport->setUsername('******@gmail.com'); $transport->setPassword('********'); } else{ $transport = new Swift_MailTransport(); } $mailer = new Swift_Mailer($transport); $message = (new Swift_Message($tabEmail['subject'])) ->setFrom(['*******@gmail.com']) ->setTo([$tabEmail['email'] => $tabEmail['name']) ->setContentType("text/html") ->setCharset('utf-8') ->setBody($tabEmail['message']); $result = $mailer->send($message); } public function viewEmail() { if(isset($_POST['submit'])) { $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; $templateEmail = $this->loadTwig()->loadTemplate('email.html.twig'); $emailUser = $templateEmail->render(array( "email" => $email, "message" => $message, )); $tabEmail = array( "name" => $name, "email" => "******@gmail.com", "subject" => $subject, "message" => $emailUser ); $this->sendEmail($tabEmail); } $templateIndex = $this->loadTwig()->loadTemplate('default.html.twig'); return $templateIndex->render(array()); } }

email.html.twig

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> envoyer un mail </title> <link rel="stylesheet" href="vendor/bootstrap/css/bootstrap.css"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="jumbotron" style="background-color: brown; color: black"> <center><h2 style="font-weight: bold; margin-top: 10%">Send By {{ email }}</h2></center> <div class="row"> <div class="col-md-12"> <center> <br> <p> {{ message }} </p> </center> </div> <div class="col-md-12"> <center><img src="img/jo2024.png" alt="" style="width: 12%;"></center> </div> </div> </div> </div> </div> </div> </body> </html>

1 réponse

Dbo, il y a 8 ans

Salut,

C'est normal que tes images et css ne se chargent pas, il faut mettre l'url complet vers la ressource (avec le l'url de ton site) ;)

Au plaisir,