Vkládání obrázku do emailu
- gizer
- Člen | 67
Ahoj,
jsem tady poprvé a snažím se vložit obrázek do těla emailu. Nejdříve
pro kontrolu posílám obrázek přímo do prohlížeče. To funguje. Pak se
stejnou cestou snažím pomocí setHtmlBody poslat do těla emailu
i nějaké HTML plus obrázek. V emailu se zobrazí pouze text HTML a místo
obrázku jenom alt. Testoval jsem jak email na seznamu, tak gmail.
//Pozn. Vložení obrázku pro kontrolu načítání obrázku. Toto funguje a
posílá obrázek do prohlížeče
$image = Image::fromFile(‚images/chalupa.jpg‘);
$image->resize(350, 330, Image::STRETCH);
$image->send();
/**Potvrzení objednávky pro zákazníka */
$mailClient = new Message;
$mailClient->setFrom(‚admin <admin@efrek.cz>‘)
->addTo($values[„email“])
->setSubject(‚Potvrzení objednávky aplikačního školení‘)
->setBody(„Dobrý den,\n vaše objednávka aplikačního školení byla
přijata. Ozveme se Vám co možná nejdříve“);
$mailClient->setHtmlBody(‚<b>Sample HTML</b> ‘);
//Pozn.Toto nefunguje a pošle email bez obrázku. Pouze zobrazí „Sample HTML“ a „chalupa“ jako alt.Cesta k obrázku je stejná v obou případech „images/chalupa.jpg“
$mailer = new SendmailMailer;
$mailer->send($mailClient);
$this->flashMessage(‚Zpráva byla odeslána‘);
$this->redirect(‚this‘);
Děkuji moc předem za jakoukoliv radu.
- David Matějka
- Moderator | 6445
ahoj, seHtmlBody ma druhy parametr basePath
, aby to dokazalo
poznat, vuci jakemu adresari to ma relativne hledat obrazky. takze jej nastav na
adresar, kde je pak slozka images