Подтвердить что ты не робот

Как вставлять изображения в html в MFMailComposeViewController для iPhone

Я пытаюсь вставить кучу небольших изображений в таблицу html, которую я хочу отправить, используя MFMailComposeViewController. После выполнения какого-то поиска я понял, что почти все предлагают класс "NSData + Base64 by Matt Gallagher" для кодирования фотографии в Base64encoding и встраивания ее в html. Хотя он работает на iPhone и с некоторыми серверами электронной почты, но Gmail и Yahoo не отображают образы, встроенные таким образом. Эта проблема упоминается здесь .

Мне было интересно, есть ли у кого-то лучшее решение для этого. Я не хочу загружать фотографии в Интернете и помещать ссылку в код html. Я хотел бы, чтобы изображение было прикреплено к письму и отображалось как встроенное изображение в html-тексте, таблице,...

4b9b3361

Ответ 1

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

Встраивание данных изображения в теги <img>, поскольку base64 может работать с некоторыми комбинациями - отчасти это функция почтового клиента и частично браузера, который в конечном итоге используется для его рендеринга, но, как вы заметили, он не широко переносится.

Ответ 2

Я не уверен в добавлении в HTML, но вот как я добавляю изображения в виде вложений:

UIImage *image = [UIImage imageNamed:@"myImage.png"];
MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
composer.mailComposeDelegate = self;

NSData *data = UIImagePNGRepresentation(image);
[composer addAttachmentData:data mimeType:@"image/png" fileName:@"curse"];
[composer setMessageBody:@"" isHTML:NO];
[self presentModalViewController:composer animated:YES];
[composer release];

Теперь вам нужно изменить тело как HTML и способ ссылки на прикрепленное изображение из HTML.

Ответ 3

Загрузите изображение на какой-нибудь хостинг-сайт, скопируйте ссылку и поместите ее в

<img src='the link.png' /> html on your email message body.