Наш веб-сайт для пожертвований отправляет электронные письма, когда пользователь регистрируется, делает пожертвования и т. Д. Я получил много жалоб на то, что доноры получают пустые электронные письма. После дальнейшего расследования выясняется, что у всех этих доноров есть электронные письма от Apple, т.е. @ mac.com, @ me.com @ icloud.com и т. Д.
Итак, я взял Mac, создал письмо с почтовым приложением для учетной записи iCloud. Сделал тестовое пожертвование и получил письмо. При просмотре в почтовом приложении, я вижу на левой стороне в качестве предварительного просмотра текста
Спасибо за пожертвование ... [тема]
Это сообщение не имеет содержания. [предварительный просмотр тела]
Правая панель также показала предмет, но полностью пустой для тела.
Также стоит отметить, что та же проблема есть и на iOS (я позаимствовал iPhone 6 plus моего друга). Тем не менее, на моем андроиде я использовал приложение outlook и залогинился в свой icloud, и там действительно был основной текст!
Я предполагаю, что некоторые программы Apple не могут правильно проанализировать HTML-сообщения ...
Все поиски этой проблемы привели к решению конкретного пользователя, столкнувшегося с этой проблемой, но моя проблема связана с самим почтовым сообщением на почтовом клиенте Apple.
Может ли кто-нибудь указать мне правильное направление? Существует ли определенный стандарт HTML для электронных писем Apple?
div
s иtable
s и т. Д.). Может быть, есть подсказка в необработанном сообщении ... Если я смогу получить необработанное письмо, полученное от icloud, я его где-нибудь выложу. 2) Другие электронные письма правильно принимаются на веб-сайте icloud. Только письма в формате HTML с моего сервера пропускают тело.Ответы:
Оказывается, проблема связана с заголовками контента и тем, как их интерпретируют почтовые клиенты.
Первоначально, заголовок был установлен на,
Content-Type: multipart/related;
а тело было структурировано какПохоже, что клиенты iOS и Apple не смогли
multipart/related
правильно проанализировать .Я решил это, изменив заголовок,
Content-Type: multipart/alternative;
а затем структурировал тело какВот почтовая библиотека, которую я использовал https://github.com/opencart/opencart/blob/1.5.5.1/upload/system/library/mail.php
Подобное обсуждение здесь https://stackoverflow.com/questions/19497672/multipart-messages-inclusive-multiple-attachments-attachment-and-inline-wi
И здесь https://stackoverflow.com/questions/7766943/mime-multipart-related-structure-and-apple-mail-is-it-a-bug
источник