MFMailComposeViewController canSendMail returns YES but not sending mail in iOS
ios, mfmailcomposer, mfmailcomposeviewcontroller
Solution
After you send the Mail with your App go to the Mail-Software on your iPhone, you will most likely find the mail in the Outbox.
Cause the MFMailComposeViewController will just forward the Mail to the Mail-Software and it doesn't care what happens next to the message. So it's up to your Mail-Software how and when the Outbox will be updated.
Problem
The following is my code to send an attachment in a mail. This works fine. I am able to send mails but I don't always receive the mails. ``` 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]; } ```