Dezvolt o aplicatie Laravel care permite construirea unui e-mail si apoi trimiterea acestuia. In situatia in care clientul adauga imagini in template-ul mail-ului, doresc sa le transform in atasamente inline. Out of the box, Laravel permite folosirea $message->embed($pathToImage) in template-ul Blade, care functioneaza perfect, insa acest lucru nu ma ajuta deoarece nu folosesc template-ul Blade la trimitere, ci servesc direct continutul HTML ca string:
public function build()
{
// [...]
return $this->from($sender)
->subject($subject)
->html($content);
}
V-ati lovit de acest lucru pana acum? Vreo idee cum as putea solutiona problema?
Nu pot face asta. Nu pot sa folosesc un template Blade decat la modul de placeholder pentru continutul HTML, de forma {!! $content !!}". Clientul face tot HTML-ul intr-un editor WYSIWYG.
Prin “inline” ma refer la “CID Embedding”, adica situatia in care in loc de sursa imaginii, in atributul “src” al tag-ului “img” scrii ceva de genul: “cid:479b26af0c790ab4b716c3873e4ba30f”, unde acel hash corespunde imaginii atasate e-mail-ului.