Встроенные в электронную почту изображения HTML не отображаются на мобильных телефонах - PullRequest
5 голосов
/ 05 октября 2009

У меня есть приложение, которое отправляет электронное письмо в формате HTML со встроенными изображениями. Электронная почта выглядит отлично на многих настольных / веб-клиентах. Когда электронная почта просматривается на мобильном телефоне, поддерживающем электронную почту в формате HTML (проверено на iPhone, WinMo 6.1), изображения отображаются в виде красных крестиков. Все остальные HTML отображаются правильно. Чтобы было ясно, проблема возникает ТОЛЬКО на мобильных клиентах, а не на настольных клиентах.

Код для встраивания изображений работает отлично, и я не думаю, что с ним возникнут какие-либо проблемы, но я включил несколько быстрых примеров кода ниже на всякий случай:

MailMessage mail = new MailMessage();
            mail.To.Add("123@myemail.com");
            mail.From = new MailAddress("456@ myemail.com");
            mail.Subject = "Image sample - fails in mobile clients";
            string Body = "Sample email text<img src=\"cid:imageId\" />";

            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html");
            LinkedResource lr = new LinkedResource("myImage.jpg");
            lr.ContentId = "imageId";
            htmlView.LinkedResources.Add(lr);

            mail.AlternateViews.Add(htmlView);
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.Send(mail);

Кто-нибудь знает, почему встроенные изображения не отображаются на мобильных клиентах? А еще лучше, как я могу заставить изображения отображаться правильно?

Редактировать: Если Outlook 2007 (и выше) отправляет электронное письмо с изображениями, то изображения отображаются правильно в мобильном клиенте и клиенте для настольного компьютера. Если электронное письмо в формате HTML отправляется со встроенными изображениями, то эти изображения некорректно отображаются в мобильном клиенте, но корректно отображаются в настольном клиенте.

Как Outlook может отправлять электронные письма с уверенно отображаемыми изображениями, но при отправке через веб-приложение (с использованием встроенных изображений) мобильный клиент блокирует изображения. В чем разница между ними?

Ответы [ 4 ]

3 голосов
/ 18 марта 2010

Я наконец нашел ответ на эту проблему: необязательный ContentType LinkedResource не был установлен. Настольные клиенты могут выяснить

С MSDN :

Информация в ContentType класс используется для описания данных содержится в сообщении электронной почты в таком способ, которым программное обеспечение, которое отображает электронная почта может представить содержимое в порядке, соответствующем. ContentType is используется с классом Attachment для указать тип контента в крепление.

Outlook смог понять, как должно отображаться прикрепленное изображение, но мобильным клиентам требовалось больше информации.

2 голосов
/ 12 марта 2010

Это, как сказали другие пользователи, проблема с настройками и известная ошибка.

Элисон, вы уверены, что двоичные файлы изображений попали в телефон? Как заявили другие пользователи, проблема с настройками может быть по умолчанию для сокращения непреднамеренной загрузки объемных изображений на мобильные клиенты с ограниченными тарифными планами.

Что касается известной проблемы, см.

http://www.google.com/support/forum/p/Google+Mobile/thread?tid=6470e77d94f0315c&hl=en

Спасибо и удачи ...

РЕДАКТИРОВАТЬ: Вау ... это старый вопрос;)

0 голосов
/ 22 декабря 2016

хороший ответ здесь :

string attachmentPath = Environment.CurrentDirectory + @"\test.png";
Attachment inline = new Attachment(attachmentPath);
inline.ContentDisposition.Inline = true;
inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
inline.ContentId = contentID;
inline.ContentType.MediaType = "image/png";
inline.ContentType.Name = Path.GetFileName(attachmentPath);

message.Attachments.Add(inline);

Я только что проверил это, и это сработало как шарм. Вы, конечно, захотите определить тип файла. Вот список типов медиа:

http://www.fileformat.info/info/mimetype/image/index.htm

0 голосов
/ 05 октября 2009

Чаще всего причина заключается в настройках смартфона, которые по умолчанию запрещают загрузку изображений электронной почты. На большинстве телефонов поведение по умолчанию заключается в том, что им приходится загружать изображения вручную, обычно с помощью кнопки или параметра в почтовом клиенте, если они хотят видеть изображения, прикрепленные к этому конкретному письму. Это те же настройки, что и в настройках Outlook на настольном компьютере и ноутбуке. Для большинства почтовых клиентов это защита от спама. Для телефонов это также экономит пропускную способность от ненужного использования. Вы никогда не должны рассчитывать на то, что клиенты всегда будут видеть изображения по умолчанию.

...