odeslání obrázku v těle emailu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
milda001
Člen | 6
+
0
-

Zdravím!

Potřebuji posílat potvrzení uživatelům v kterém je obsaženo logo.png.

Po odeslání přijmu email, obrázek však v těle chybí

Tímto způsobem mám v latte přidán obrázek

<img src="{$basePath}\images\logo.png" border="0" alt="" align="center"/>

dále v prezenteru

$template = $this->createTemplate();
	$template->setFile(__DIR__.'/templates/emailQuestion.latte');

	$mail = new Message;
	$mail->setFrom('emailxxx')
	->addTo('emailxxx')
	->setSubject('Potvrzení přijetí dotazu')
	->setHtmlBody((string) $template, dirname($template->getFile()));

Předem díky za popostrčení

Editoval milda001 (8. 5. 2016 10:52)

Unlink
Člen | 298
+
0
-

A ako vyzerá prijatý email (tá časť kde má byť obrázok)?
možno by som skusil namiesto \ dať normálne / v tej ceste

<img src="{$basePath}/images/logo.png" border="0" alt="" align="center"/>
milda001
Člen | 6
+
0
-

V emailu je cesta ze server s ID

<img id="_x0000_i1025" src="/firewood/sandbox/www/images/logo.png" alt=""border=0 align=center>

Unlink
Člen | 298
+
+1
-

Pokiaľ chceš, aby sa obrázok pripojil k emailu musíš použiť relatívnu cestu k basePath (druhý parameter metódy setHtmlBody), nie absolútnu cestu alebo URL

<img src="logo.png" border="0" alt="" align="center"/>

a potom nastaviť do basePath zložku, kde sa to logo nachádza

->setHtmlBody((string) $template, 'cesta/ku/obrazkom]);
milda001
Člen | 6
+
0
-

Díky moc za nasměrování.

Již posílám emaily s obrázky.

Bylo nutné povolit extension v php.ini respektive php_fileinfo.dll.

Dále jak jsi psal je nutné uvést relativní cestu.
V mém případě jsem tedy nahradil

->setHtmlBody((string) $template, dirname($template->getFile()));

za

->setHtmlBody((string) $template, 'images');

v šabloně jsem pak uvedel pouze název obrázku

<img src="logo.png" border="0" alt="" align="center"/>

díky

Editoval milda001 (8. 5. 2016 13:27)

lukendo
Člen | 96
+
0
-

mám taky menší problém a to s tím že jako tělo předávám obsah z textarey TinyMce. Některé obrázky (většinou ty větší) se v emailu nezobrazí. Jde nějak zjistit nebo nastavit(timeout či max. size) aby se odesílaly i ty velké?

Landsman
Člen | 152
+
0
-

@lukendo záleží, co je velké a do které schránky to má přijít. Různí poskytovatelé mají limity i u sebe.