У меня есть проблема с отправкой csv вложения через MFMailComposeViewController. Иногда они проникают очень хорошо, но для других пользователей они не проникают как вложения, а скорее как текст, встроенный в электронном письме (с <br/> вместо возвратов строки.) Это очень странно. Кто-либо знает то, что я делаю неправильно? Вот отрывок моего кода:
MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];
mailComposeViewController.mailComposeDelegate = self;
NSString *csv = @"foo,bar,blah,hello";
NSData *csvData = [csv dataUsingEncoding:NSUTF8StringEncoding];
[mailComposeViewController addAttachmentData:csvData mimeType:@"text/csv" fileName:@"testing.csv"];
[mailComposeViewController setSubject:@"testing sending csv attachment"];
[mailComposeViewController setMessageBody:@"csv file should be attached" isHTML:NO];
[self presentModalViewController:mailComposeViewController animated:YES];
полагаю, что второй параметр к setMessageBody:isHTML:
должен быть YES
, чтобы прикрепленные файлы не отображались в строке.
Даже если вы установите для параметра isHTML значение YES, тело вашего сообщения может быть отправлено как обычное / текстовое, если тело сообщения может быть представлено как таковое. А вложения в обычных / текстовых сообщениях не всегда правильно распознаются некоторыми почтовыми клиентами (Outlook).
В моем случае помогло добавление ссылки в тело сообщения. Также работает форматирование текста полужирным шрифтом с помощью HTML-тегов. Сложный!
Проверено на iPod 1G 3.1.3.