Aconteceu-me recentemente ter imagens em base64 que tinha de ser embebidas num email.
Ora é perfeitamente possible colcar a image no email em base64 utilizando
<img src=”data:<?php echo $foto[‘foto_mime’]; ?>;charset=utf-8;base64,<?php echo $foto[‘string_base_64’]; ?>” />
O problema é que os clientes web mail não gostam deste formato (gamail, hotmail…).
Uma forma de resolver a questão é utilizar o phpmailer e a função addStringEmbeddedImage():
No corpo do email é necessário fazer referencia à imagem utilizado <img src=”cid:image_name” />
Depois no processo de envio do email utilizar a função addStringEmbeddedImage() para anexar as imagens
$mail = new phpMailer;
$mail->addStringEmbeddedImage(base64_decode($foto[‘string_base_64’]), ‘footer_image’, ‘footer_image.jpg’, ‘base64’, $foto[‘foto_mime’]);