Reputation: 3406
Please tell me how to send an email?
That means i have an uibutton when the user clicks that i want retrieve some data from app and send it to technical assistant`s mail id.. is there any simple method for doing this?
Upvotes: 3
Views: 11892
Reputation: 31722
You have to use the MFMailComposeViewController
class, and the MFMailComposeViewControllerDelegate
protocol,
PeyloW provides the following code for this in his answer here:
First to send a message:
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"My Subject"];
[controller setMessageBody:@"Hello there." isHTML:NO];
[self presentModalViewController:controller animated:YES];
[controller release];
Then the user does the work and you get the delegate callback in time:
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError*)error;
{
if (result == MFMailComposeResultSent) {
NSLog(@"It's away!");
}
[self dismissModalViewControllerAnimated:YES];
}
Upvotes: 11
Reputation: 3831
I use the simple method of composing an email and opening it with the Mail app. This also works as a confirmation; if the user doesn't want to send it, he can just cancel. So no need to add an 'Are you sure?' popup. He can also add a note or such.
NSString *mailurl=[NSString stringWithFormat:
@"mailto:%@?subject=%@%@&body=%@%@",mailaddr,mailsubject,
recipientname,mailmessage,mailsignature];
[[UIApplication sharedApplication] openURL:
[NSURL URLwithString:[mailurl stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding]]];
It works a charm and I use this method in several apps :)
Upvotes: 2
Reputation: 1973
No need to create UIButton. You have to use the MFMailComposeViewController class and the MFMailComposeViewControllerDelegate protocol to send a mail..
For your easiness in creating e-mail app your can refer to the following link.
http://mobileorchard.com/new-in-iphone-30-tutorial-series-part-2-in-app-email-messageui/
it may be helpful to you in creating your app
Upvotes: 8
Reputation: 5546
If you want to send an email from your users email account you need to use the MFMailComposeViewController to present the user with a screen. You can't/shouldn't send emails from the users email account without their permission!
Otherwise you can start a normal SMTP connection to your server and use your own login details.
Upvotes: 2