import MessageUI
//MARK: MFMailComposeViewController
func presentModalMailComposeViewController(animated: Bool) {
if MFMailComposeViewController.canSendMail() {
let mailComposeVC = MFMailComposeViewController()
mailComposeVC.delegate = self
mailComposeVC.setSubject(<#subject#>)
mailComposeVC.setMessageBody(<#body#>, isHTML: true)
mailComposeVC.setToRecipients([<#recipients#>])
presentViewController(mailComposeVC, animated: animated, completion: nil)
} else {
UIAlertView(title: NSLocalizedString("Error", value: "Error", comment: ""), message: NSLocalizedString("Your device doesn't support Mail messaging", value: "Your device doesn't support Mail messaging", comment: ""), delegate: nil, cancelButtonTitle: NSLocalizedString("OK", value: "OK", comment: "")).show()
}
}
//MARK: MFMailComposeViewControllerDelegate
func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {
if error != nil {
println("Error: \(error)")
}
dismissViewControllerAnimated(true, completion: nil)
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
// Notifies users about errors associated with the interface
switch (result)
{
case MFMailComposeResultCancelled:
//NSLog(@"Result: canceled");
break;
case MFMailComposeResultSaved:
//NSLog(@"Result: saved");
break;
case MFMailComposeResultSent:
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Result" message:@"Mail Sent Successfully" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
break;
case MFMailComposeResultFailed:
//NSLog(@"Result: failed");
break;
default:
//NSLog(@"Result: not sent");
break;
}
[self dismissModalViewControllerAnimated:YES];
}