iOS (iPhone, iPad) Tutorial on 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;
}

-(ibaction)sendmail:(id)sender;

@end

step 5 − update viewcontroller.m as follows −

#import "viewcontroller.h"

@interface viewcontroller ()
@end

@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];
}
@end

output

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