L'image intégrée dans HTML Mail montre ci-joint en place de modèle
-
30-10-2019 - |
Question
J'envoie des courriers HTML avec SwiftMailer. Tout fonctionne très bien, mes courriers HTML s'affichent très bien chez tous les clients. J'ai toute la connaissance de la construction de modèles de courrier électronique. Les envoyer moi-même pas tellement ...
Le problème existe dans Gmail et Hotmail. L'image n'apparaît pas. Cela montre très bien dans Thunderbird par exemple ... Gmail laisse mon image vide et l'ajoute comme une pièce jointe (en bas du courrier, comme j'envoie des photos d'anniversaire ..).
Des idées?
J'ai le code suivant:
function deliverMail($subject, $data, $from, $to, $template){
if($_SERVER['SERVER_ADDR'] !== '::1'){
if (!is_array($to)){
$to = array($to);
}
$from = explode(",", $from);
//Create the Transport
$transport = Swift_SmtpTransport::newInstance('mail.xxx.nl', 25)
->setUsername('xxx')
->setPassword('xxx');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance($subject);
$image = $message->embed(Swift_Image::fromPath($_SERVER['DOCUMENT_ROOT'].'/templates/emails/xxx.jpg'));
// open the file
$sourcefile = $_SERVER['DOCUMENT_ROOT'].'/templates/emails/'.$template.'.html.tpl';
$fh = fopen($sourcefile, 'r');
$htmltemplate = fread($fh, filesize($sourcefile));
fclose($fh);
// set the content
if($template == 'confirm'){$replaceOld = array("[*code*]", "[*imgsrc*]");}
if($template == 'notify'){$replaceOld = array("[*url*]", "[*imgsrc*]");}
$replaceNew = array($data, $image);
$body = str_replace($replaceOld, $replaceNew, $htmltemplate);
$message->setFrom(array($from[0] => $from[1]))
->setTo($to)
->setBody($body, 'text/html');
if (!$mailer->send($message, $failures)){
return "Failures:";
return print_r($failures);
}else{
return 'success';
}
}
}
Qui rendra l'image dans mon modèle ici:
<td id="head" height="80" width="640" colspan="3" valign="top" align="left">
<image src="[*imgsrc*]" width="140" height="80" alt="xxx"/>
</td>
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow