这是我给小组的第一篇文章,所以请善待:)
我从我的应用程序发送了几个音频附件,如下所示:
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
picker.modalPresentationStyle = UIModalPresentationCurrentContext;
[picker setSubject:@"Test message"];
NSArray *toRecipients = [NSArray arrayWithObject:@"foo@bar.com"];
[picker setToRecipients:toRecipients];
// multiple attachments are made as follows
NSData *myData = [NSData dataWithContentsOfFile:filePath];
[picker addAttachmentData:myData mimeType:@"audio/x-caf" fileName:fileName];
[picker setMessageBody:@"test message" isHTML:NO];
[controller presentModalViewController:picker animated:YES];
mailComposeController方法负责解雇模态视图。
不幸的是,当邮件被传递时,附件的mime标头将Content-Id设置为null。这是它的样子:
Content-Type: audio/x-caf; name="audio_1.caf"
Content-Transfer-Encoding: base64
Content-Id: <(null)>
Content-Disposition: attachment; filename="audio_1.caf"
如果我手动删除Content-Id字段并在我的Mac Mail程序(邮件版本3.6)中重新加载邮件,则附件会正确显示。换句话说,我真的不需要/希望将内容ID插入到mime头中。
另外,值得一提的是,出于调试目的,如果我将mime类型设置为“image / jpeg”,则mime标头会获得有效的Content-Id字符串。我的所有附件都显示在Mail中。正如所料,在这种情况下,附件无法在Mac或iPhone上正确打开。
非常感谢任何帮助。
感谢, apurva
答案 0 :(得分:0)
根据这篇文章,您无法手动设置Content-ID
How to add a UIImage in MailComposer Sheet of MFMailComposeViewController
答案 1 :(得分:0)
行。想出来 - 比其他任何事情更偶然。
邮件服务器(不是我的app或MFMailComposeViewController)似乎插入了空内容ID。
最初我用个人雅虎帐户测试发送。那是我遇到问题的时候。当我切换到我的工作帐户时,问题就消失了。
感谢, apurva