Я написал скрипт для отправки электронного письма с фоновым изображением.
Вот как это начинается:
...
$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: ". $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">';
$message .= '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
$message .= '<body style="background:url(http://www.xxxx.com/assets/background.jpg) no-repeat;">';
....
Кстати, фоновое изображение не появится на почтовом клиенте конечного пользователя. Это вызвано настройками безопасности почтового клиента и зависит от одного клиента к другому.
Я знаю, что у меня была такая же проблема много лет назад, и что был обходной путь.
Я помню, что это было связано с тем фактом, что изображение должно быть как-то закодировано в заголовке сообщения, но я просто не помню, как, и я не нашел никакой ссылки на этот счет в Интернете.
Все, что я знаю, это то, что это работало большую часть времени (не всегда, но я знаю, что нет идеального решения, есть только лучшие решения, чем другие, и опция css link просто плохая).
Любая идея, как кодировать и вставлять картинку в электронное письмо вместо использования ссылки CSS?
Спасибо
Вы пропустили кавычки на своем фоне URL. Вы также можете попробовать использовать background=""
HTML-атрибут на body
или <td>
это нуждается в фоне.
Чтобы заставить это работать в перспективе, взгляните на это:
http://backgrounds.cm/
Других решений пока нет …