EmailSend Application in iPhone Aasim Naseem, January 6, 2012 | Read Count: 13,484April 27, 2025 Category: My Tutorials > iOSHello everyone, Hope all is good around you. Here is another tutorial for iOS applications. I’m composing a series of tutorials on different topics; you can find the rest of the post under iOS categories. So here we go; in this application we will see how to send email on an iPhone. So let’s see how it will work. Step 1: Open Xcode. Create a new project using the View Base application. Give the application “EmailSend”. Step 2: Xcode automatically creates the directory structure and adds essential frameworks to it. You can explore the directory structure to check out the content of the directory. Step 3: Expand classes and notice Interface Builder created the ViewController class for you. Expand Resources and notice the template generated a separate nib, EmailSendViewController.xib for the EmailSend application. Step 4: We need to add MessageUI.framework in the application. Step 5: Open the EmailSendViewController.h file and make the following changes: #import <UIKit/UIKit.h> #import <MessageUI/MessageUI.h> @interface EmailSendViewController : UIViewController <MFMailComposeViewControllerDelegate>{ } - (IBAction)SendMail:(id)sender; @end Step 6: Double click the EmailSendViewController.xib file and open it to the interface Builder. Drag the round rect button from the library and place it to the View window. Now select the button and bring up Connection Inspector and connect Touch Up Inside to the File’s Owner icon and select SendMail: method. Now Save the .xib file, close it and go back to the Xcode. Step 7: Open the AlertViewViewController.m file and make the following changes: #import "EmailSendViewController.h" @implementation EmailSendViewController - (void)dealloc { [super dealloc]; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn’t have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren’t in use. } #pragma mark – View lifecycle /* // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; } */ - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } - (IBAction)SendMail:(id)sender { if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init]; mailer.mailComposeDelegate = self; [mailer setSubject:@"A Message from iPhone"]; NSArray *toRecipients = [NSArray arrayWithObjects:@"", @"", nil]; [mailer setToRecipients:toRecipients]; NSString *emailBody = @"Have you Nice Day"; [mailer setMessageBody:emailBody isHTML:NO]; // only for iPad // mailer.modalPresentationStyle = UIModalPresentationPageSheet; [self presentModalViewController:mailer animated:YES]; [mailer release]; } else { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure" message:@"Your device doesn’t support the composer sheet" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alert show]; [alert release]; } } #pragma mark – MFMailComposeController delegate - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult: (MFMailComposeResult)result error:(NSError*)error { switch (result) { case MFMailComposeResultCancelled: NSLog(@"Mail cancelled"); break; case MFMailComposeResultSaved: NSLog(@"Mail saved"); break; case MFMailComposeResultSent: NSLog(@"Mail send"); break; case MFMailComposeResultFailed: NSLog(@"Mail failed"); break; default: NSLog(@"Mail not sent"); break; } [self dismissModalViewControllerAnimated:YES]; } @end Step 8: Now compile and run the application on the simulator. Thats all. If you found anything confusing, do let me know or comment here. Author Profile Aasim Naseem Hey, Thanks for your interest. I’m a PMP, AWS Solutions Architect, and Scrum Master certified professional with 17+ years of hands-on experience leading projects, building teams, and helping organizations deliver software solutions better, faster, and smarter. Outside of work, I’ve got a deep curiosity for history — especially ancient civilizations like Egypt. I also enjoy reflecting on the everyday moments that shape how we live and work. This blog is my space to share insights, lessons, and thoughts from both my professional journey and personal interests. Thanks for reading — and I hope you will find something here that matches your interest. Latest entries IslamJune 6, 2025 | Read Count: 305Economic impact of Eid-ul-Adha PMP CertificationMay 23, 2025 | Read Count: 508Best PMP Study Resources for 2025 (Books, Courses, Tools & More) Agile & FrameworksMay 7, 2025 | Read Count: 484Agile vs Scrum: Finally Understanding the Difference Agile & FrameworksApril 25, 2025 | Read Count: 510When Not To Use Agile: 5 Signs You Need a Different Approach iOS iPhoneiphone email tutorialMFMailComposeResultCancelledMFMailComposeResultFailedMFMailComposeResultSentMFMailComposeViewControllerDelegateMFMailComposeViewControllerDelegatexcode
iOS Beta Builder :: Wireless Distribution of Your Adhoc Archive June 5, 2013 | Read Count: 12,484April 9, 2025 Category: My Tutorials > iOS Hey .. how’s work going? It’s good Han !!! … good good … So you have done with your release and verified with QA after some bug fixing; That’s great; You done a good job; Now Its time to share the Adhoc with client; Ok… Read More
iOS Storage Issue with iOS-5 And iCloud; February 2, 2012 | Read Count: 13,490April 27, 2025 Category: My Tutorials > iOSHello everyone .. Now a days, we are noticing that many people are getting rejection from AppStore due to storage issue; I looked into this issue and here are my findings regarding iOS-5 and iCloud; When we install our application in device, we have three main directories… Read More
iOS Substrings from NSString March 13, 2012 | Read Count: 13,499April 9, 2025 Category: My Tutorials > iOSHello iOS geeks … Here is a small tip for getting a substring from NSString; NSString class provide following methods for splitting a string; – (NSString *)substringFromIndex:(NSUInteger)from; – (NSString *)substringToIndex:(NSUInteger)to; – (NSString *)substringWithRange:(NSRange)range; – (NSRange)rangeOfString:(NSString *)<em>aString;</em> Following code will demonstrate itself; Author Profile Aasim Naseem Hey, Thanks for your interest…. Read More