Я предполагаю, что переменная body
содержит только HTML-код, но не CSS или изображения, потому что оба являются отдельными файлами.
По сути, вам нужно прикрепить изображения к почте и изменить HTML-код тела, чтобы он указывал на правильное местоположение. См. здесь для получения дополнительной информации и примера кода.
Это также может быть полезно: http://www.alistapart.com/articles/cssemail/
Проблема:
Некоторые клиенты предоставили мою электронную почту без какого-либо стиля. Сначала я объяснил это удалением стилей, но потом обнаружил, что стили были четко видны в исходном коде. Впоследствии я потратил много времени, пытаясь раскрыть виновника, тестируя бесчисленные версии электронной почты. Увы, проблема была прямо у меня под носом: стили не были удалены - точки (.), Предшествующие их именам. Поэтому «.Feature {}» стал «Feature {}», что привело к бессмысленному определению стиля.
Решение:
Я использовал селекторы классов, которые гарантировали, что каждый стиль будет начинаться с буквы вместо точки. Поэтому «.Feature {}» станет «td.Feature {}» или «div.Feature {}» (в зависимости от приложения). Несколько приземленное исправление, но эффективное и (опять же) совместимое.