Hallo,
ich nutze die Contao E-Mail Klasse um automatisierte E-Mails zu verschicken.
Da ich HTML E-Mails verschicke möchte ich ein Logo mit einbinden am besten als CID sodass es auf den Meisten E-Mail Clients direkt angezeigt.
Momentan binde ich ein externes Bild in der E-Mail ein, was nicht immer angezeigt wird.
Meine Frage: Die Contao E-Mail Klasse kann wohl cid's erstellen wie man unten im Beispiel sieht. Muss ich diesen Teil in mein Modul übernehmen, oder kann ich direkt darauf zugreifen?
Grüße Sabri
PHP-Code:
// HTML e-mail
if (!empty($this->strHtml))
{
if (!strlen($this->strImageDir))
{
$this->strImageDir = TL_ROOT . '/';
}
// Find images
$arrMatches = array();
preg_match_all('/src="([^"]+\.(jpe?g|png|gif|bmp|tiff?|swf))"/Ui', $this->strHtml, $arrMatches);
$strBase = Environment::getInstance()->base;
// Embed internal images
foreach (array_unique($arrMatches[1]) as $url)
{
// Try to remove the base URL
$src = str_replace($strBase, '', $url);
// Embed the image if the URL is now relative
if (!preg_match('@^https?://@', $src) && file_exists($this->strImageDir . $src))
{
$cid = $this->objMessage->embed(Swift_EmbeddedFile::fromPath($this->strImageDir . $src));
$this->strHtml = str_replace('src="' . $url . '"', 'src="' . $cid . '"', $this->strHtml);
}
}
$this->objMessage->setBody($this->strHtml, 'text/html');
}
Lesezeichen