HTML-вложение превращается в простой текст только для пользователей iPhone, использующих приложение Outlook (почтовое приложение не по умолчанию) - PullRequest
1 голос
/ 16 мая 2019

У нас есть функция C #, которая использует потоковую запись для создания вложения HTML из файла ASPX. который генерирует электронное письмо с вложением HTML и отправляет пользователю, это приложение прекрасно отображается на всех устройствах Android и почтовом приложении iphone по умолчанию. Однако пользователь обнаружил, что он превращается в обычный текст при попытке открыть на iPhone с помощью приложения Outlook.

Вложение открывается правильно на всех настольных устройствах (Gmail, Outlook и т. Д.)

Он также работает с почтовым приложением iPhone по умолчанию и подтвердил, что отказывает только в приложении Outlook.

Мы также загрузили файл на ПК, затем перенаправили его обратно на iPhone с Outlook, не меняя файл вообще, и он работал нормально.

//Only relevant code below

HttpContext.Current.Server.Execute(path, writer);
//path is filepath of aspx file
string msg = writer.ToString();

//filename is the html file
using (StreamWriter sw = new StreamWriter(filename,true)){
sw.write(msg);
sw.Dispose();
}

mail.Attachments.Add(new Attachment(filename));

1 Ответ

0 голосов
/ 16 мая 2019

Таким образом, при дальнейшем исследовании выясняется, что глубже в коде, который я обнаружил, у нас все еще была строка из предыдущей версии, которая превращала его в простой текст, когда он помещался непосредственно в тело. Странно, но на самом деле это затронуло только приложение Outlook на IPhone.

//OLD:
contentType.MediaType = System.Net.Mime.MediaTypeNames.Text.Plain;

//NEW:
contentType.MediaType = System.Net.Mime.MediaTypeNames.Text.Html;
...