email přes Mail\Message neodesílá styl
- CJHornster
- Člen | 56
Čau mám problém s odesíláním emailů
posílám je přes smtp server (moje emailová adresa u hostingu) a template předávám jako šablonu
$confirm_email_template = new Nette\Templating\FileTemplate(__DIR__ . '/../templates/Homepage/confirm-email.latte');
$confirm_email_template->registerFilter(new Nette\Latte\Engine);
$confirm_email_template->unique_site_index = __DIR__;
$mail = new Message;
$mail->setFrom('Vyzadejme <registrace@vyzadejme.cz>')
->addTo($values->email)
->setSubject('Potvrzení registrace k přístupu na Vyzadejme.cz')
->setHtmlBody($confirm_email_template);
jenomže mám problém, s tím, že se mě nepřeposílá styl – email se mě například na sernamu doručí,ale je uplně bez stylů a na googlu je ještě problém v tom, že mě to hodí do spamů
- CJHornster
- Člen | 56
hmm tušil sem to a bál sem se toho :D a skrytě sem doufal, že je nějaká možnost jak to obejít
- Michal Vyšinský
- Člen | 608
No existují nějaké inlinery, ale nevím, zda něco, co by to dokázalo udělat automaticky např. z latte před odesláním.
- CJHornster
- Člen | 56
jj nějakym pluginem sem si to převed do inlinu, zatím se jedná jen o confirmation email, ale teď právě řeším jak to udělat když si budu chtít emaily sám navrhovat – třeba v CKEditoru
EDIT: tak jo, tak gmail to hodí do spamu pokud to u sebe nemá styl
Editoval CJHornster (12. 8. 2014 15:40)
- leninzprahy
- Člen | 150
CKEditor ale vytváří také inline styly ne? A na nějaké obecné lze použít náhradu, my používáme něco jako:
$dom = new \DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$xPath = new \DOMXPath($dom);
foreach ($xPath->query("//h1") as $node) {
$node->setAttribute("style",
"font-size: 200%;"
. "color: #FFF;");
}
...
Ještě to pak chce nalámat na řádky, jinak by to za nás udělal poštovní server (http://tools.ietf.org/html/rfc5321#…), a bylo by mu jedno, že je to uprostřed definice stylu
$html = wordwrap($dom->saveHTML(), 500, "\n", false);
- David Kudera
- Člen | 455
Kdyby to někoho zajímalo víc, tak doporučuju kouknout na tyhle 3 přednášky: Frontendisti: Kódování html e-mailů a newsletterů
- CJHornster
- Člen | 56
jj CKEditor dělá inliny, ale potom potřebuju ještě obecně nadefinovat H1 H2 atd … ale díky za za kód a odkazy, hodně mě to pomůže, mrknu na to ;)