以下是我在邮件中发送附件的代码。这很好用。我能够发送邮件,但我并不总是收到邮件。
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
// Set the subject of email
[picker setSubject:@"My data file"];
// Add email addresses
[picker setToRecipients:[NSArray arrayWithObjects:emailId, nil]];
// Fill out the email body text
NSString *emailBody = @"Hello, \n Please find the data from the iOS app in the attachments.\n\n Thank you.\nMy Team.";
// This is not an HTML formatted email
[picker setMessageBody:emailBody isHTML:NO];
// Create NSData object from file
NSData *exportFileData = [NSData dataWithContentsOfFile:filePath];
// Attach image data to the email
[picker addAttachmentData:exportFileData mimeType:@"text/csv" fileName: [self.CSVNameTextField text]];
// Show email view
if ([MFMailComposeViewController canSendMail]) {
[self presentModalViewController:picker animated:YES];
}
答案 0 :(得分:6)
使用您的应用程序发送邮件后,转到iPhone上的邮件软件,您很可能会在发件箱中找到邮件。
因为MFMailComposeViewController只会将邮件转发到邮件软件,它不关心邮件旁边会发生什么。因此,由您的邮件软件决定如何以及何时更新发件箱。
答案 1 :(得分:2)
我遇到了同样的问题,我发现它会通过邮箱说它已发送,然后什么都不会发生。
大约20-30分钟后,第一个通过,然后我发送的其余部分逐渐通过。
我不知道为什么需要这么长时间,如果我发现我会编辑这个答案,但肯定要等到一小时才会假设您的代码被破坏。
希望这可以帮助像我这样的人一遍又一遍地搜索他们的代码
答案 2 :(得分:1)
在我的情况下,我必须手动打开iphone邮件应用程序,然后立即发送和接收邮件。