У меня есть код, который отправляет пользователям электронные письма в формате HTML. Для размещения пользователей, которые не имеют / не хотят получать электронную почту в формате HTML, электронное письмо содержит 2 альтернативных представления, View (0) - HTML, View (1) - обычный текст.
Представление HTML имеет графику верхнего и нижнего колонтитула, но стиль выполняется внутри строки, а не через файл CSS. Текстовое представление - только текст; без тегов, изображений и т. д. К сообщению прилагаются 3 файла PDF.
Когда большинство пользователей получают сообщение, оно выглядит для них нормально. Нет битых ссылок на изображения, нет искаженного текста и т. Д.
Когда другие получают сообщение, происходит один из 2 сценариев.
- Весь альтернативный HTML-вид упакован в виде вложения (с 3-мя PDF-файлами в качестве вложения к нему), а родительское сообщение содержит графические алфавитные / случайные символы, подобные этому ...
"㰡 䑏 䍔 奐 䔠 桴 浬 ⁐ 啂 䱉 䌠 ∭ ⼯ 圳 䌯 ⽄ 呄⁈ 呍 䰠 㐮 〱 ⁔ 牡 湳 楴 楯 湡 氯 ⽅ 丢 㰾 桴 浬 㰾 桥 慤 ~ ഀ
㰀 ⽨ 敡 搾 㱢 潤 礠 执 捯 汯 爽 | 晦 晦 晦 ∠ 瑥 硴 㴢 ⌰〰〰〢 㰾 扲 㰾 ⽢ 潤 社 㰯 桴 浬 ാ
101 "
- Письмо получено с вложениями, но текст письма аналогичен предыдущему искажению.
Письмо отправляется с использованием классов System.Net.Mail. Он читает XML-шаблон для создания сообщений электронной почты, поэтому размещать его здесь довольно долго, но довольно просто.
Пользователи, у которых возникли проблемы с электронной почтой, пришли с comcast.net и других корпоративных адресов.
Я понимаю, что с точки зрения получателей, что это электронная почта от неизвестного отправителя, имеет графику, имеет вложения и, следовательно, в некоторых случаях, вероятно, будет признана спамом, но это то, что хочет бизнес, поэтому они его получают ,
Моя интуиция говорит мне, что это какая-то проблема кодирования, я использую Unicode для всех форматов, это плохое предположение? РЕДАКТИРОВАТЬ: проверка это , чтобы убедиться в моем понимании.
Кто-нибудь знает, что может быть причиной, или предложение, что делать, чтобы исправить это?
РЕДАКТИРОВАТЬ @some: HTML-письмо имеет
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
вверху, но метод AlternateView.CreateAlternateViewFromString () получает применение System.Text.Encoding.Unicode (utf-16). Я могу видеть, где это может противоречить, и обновлю его, но, вероятно, потребуется некоторое время, чтобы увидеть, исправлено ли оно.
Пользователи получают электронное письмо только один раз, когда завершают процесс регистрации, но мы отправили это же электронное письмо на другую учетную запись comcast, и у него не было проблем с его просмотром.
Является ли кодирование определенным или принудительным для ОС или почтового клиента (браузера, Outlook / Express)?
(Пожалуйста, напишите в качестве ответа, чтобы вы могли получить голоса, если это полезно!)