mail a obrazky z ruznych slozek

Tonda Žáček
Člen | 17
+
0
-

prosim, jak se resi obrazky do emailu pochazejici z ruznych slozek

GEpic
Člen | 562
+
0
-

myslíš jako příloha? pak normálně cestu k souboru.

Editoval GEpic (18. 5. 2017 20:10)

iguana007
Člen | 970
+
0
-

No kdyby myslel jako prilohu, tak se nejspis nepta :)
Predpokladam, ze se ptas na metodu vkladani obrazku primo do textu/template emailu, pricemz u metody setHtmlBody je moznost definice pouze jedne cesty (https://api.nette.org/…age.php.html#…).

Pro tyto pripady je tam pak dalsi metoda, ktera ti umoznuje definovat cesty k tem obrazkum separatne:

$mail->addEmbeddedFile('background.gif')

Vice zde: https://doc.nette.org/cs/mail
a zde: https://api.nette.org/…age.php.html#…

Alsatian
Člen | 164
+
0
-

Ahoj. Jak, prosím, v šabloně zobrazit obrázek vložený addEmbeddedFile()?

V presenteru nastavím vkládání obrázků třeba ze složky „images“, kde jejich vykreslování v latte chápu a funguje na výbornou. V podstatě už neuvádím cestu images, ale jenom názvy obrázků.
Email sestavuji takto:

$email-> ... ->setHtmlBody($mojeSablonka, 'images');

Nyní bych ale rád přiložil jeden obrázek z jiného adresáře. Chápu snad správně takto:

$mail->addEmbeddedFile('images2/nazevobrazku.png');

Zobrazit v latte už jej ale neumím. Zde mám zatím následující kód. V PHP bych jej zobrazil pomocí cid:nazevObrazku, který si předem nadefinuji.

<img src="obrazek-ze-slozky-images.png">
<img src="???">

Předem děkuji :)

Editoval Alsatian (19. 5. 2018 11:47)

esorimer
Člen | 114
+
+1
-

Je to velice jednoduché a intuitivní:

<?php

$cid = $email->addEmbeddedFile('images2/nazevobrazku.png')->->getHeader('Content-ID');
$mojeSablonka->nazevobrazkuCid = substr($cid,1,-1);
$email->setHtmlBody($mojeSablonka);
?>

A pak v šabloně:

<img src="cid:{$nazevobrazkuCid}" />