iOS - Sending Email

We can send emails using the Email application of iOS device.

Steps Involved

Step 1 − Create a simple View based application.

Step 2 − Select your project file, then select targets and then add MessageUI.framework.

Step 3 − Add a button in ViewController.xib and create an action for sending email.

Step 4 − Update ViewController.h as follows −

#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>

@interface ViewController : UIViewController<MFMailComposeViewControllerDelegate> {
   MFMailComposeViewController *mailComposer;



Step 5 − Update ViewController.m as follows −

#import "ViewController.h"

@interface ViewController ()

@implementation ViewController

- (void)viewDidLoad {
   [super viewDidLoad];

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   // Dispose of any resources that can be recreated.

-(void)sendMail:(id)sender {
   mailComposer = [[MFMailComposeViewController alloc]init];
   mailComposer.mailComposeDelegate = self;
   [mailComposer setSubject:@"Test mail"];
   [mailComposer setMessageBody:@"Testing message 
   for the test mail" isHTML:NO];
   [self presentModalViewController:mailComposer animated:YES];

#pragma mark - mail compose delegate
-(void)mailComposeController:(MFMailComposeViewController *)controller 
   didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
   if (result) {
      NSLog(@"Result : %d",result);
   if (error) {
      NSLog(@"Error : %@",error);
   [self dismissModalViewControllerAnimated:YES];


When we run the application, we'll get the following output −

iOS Tutorial

On clicking Send Email, we will get the following output −

iOS Tutorial