#iphone #ios #ipad #email #attachment
#iPhone #iOS #iPad #Адрес электронной почты #вложение
Вопрос:
Я использую MFMailComposeViewController
в iOS для создания нового динамического электронного письма, но столкнулся с проблемой при попытке использовать встроенные изображения.
Сначала я попытался добавить изображение в виде строки в кодировке base64, т.Е.
<img src="data:image/png;base64, blahblahblah" />
Но я могу просматривать это только на iPad, в то время как Outlook / Entourage игнорируют это, хотя я вижу это в исходном коде!
Итак, теперь я пытаюсь добавить изображение в качестве вложения и связать с ним через его идентификатор содержимого, т.Е.
<img src="cid:BF6E8B41-4D74-419E-B55E-8F18A07381AE" id="BF6E8B41-4D74-419E-B55E-8F18A07381AE" width="509" height="220">
Но понятия не имею, как получить cid
сквозной код!
Когда я прикрепляю изображение с помощью AddAttachmentData
, изображение переходит в низ и фактически генерирует <img />
тег с идентификатором cid!
Кроме того, этот идентификатор, похоже, меняется с каждым новым электронным письмом. Приведенное выше было моей первой попыткой, затем я отправил еще одно, и идентификатор содержимого изменился на
<img src="cid:59EBFDED-2A31-4787-BF67-9D9ED0FF2B39" id="59EBFDED-2A31-4787-BF67-9D9ED0FF2B39" width="509" height="220">
Причина, по которой я должен это сделать, заключается в том, что это динамически генерируемое изображение, и оно должно находиться внутри шаблона электронного письма.
Редактировать
Я начинаю думать, что это невозможно. Я уже несколько часов занимаюсь исследованиями, и, похоже, iOS не позволит вам прикреплять изображение и ссылаться на него через его CID. Спасибо Apple -_-
Ответ №1:
Я столкнулся с тем же ограничением MFMailComposeViewController
. Он не предоставляет возможности получить идентификатор содержимого (cid) вложения электронной почты, поэтому нет способа создать HTML-сообщение электронной почты, которое ссылается на вложение через img src='cid:...'
. Поскольку большинство почтовых клиентов игнорируют URL-адреса данных (встроенные изображения в кодировке base 64), лучший вариант для составления html-сообщения электронной почты с изображениями из приложения iOS — разместить изображения в Интернете и ссылаться на них как img src='http://...'
. Большинство почтовых клиентов запрашивают у пользователя разрешение на загрузку изображений, так что это не идеально, но, по-видимому, это единственный вариант в iOS, использующий общедоступные API.