开发者

Sending in-app email

开发者 https://www.devze.com 2023-03-06 05:20 出处:网络
I need to send an email without exiting the application as the subject and body are already set by the application. I already know how to send an email but I 开发者_StackOverflow社区need to exit the a

I need to send an email without exiting the application as the subject and body are already set by the application. I already know how to send an email but I 开发者_StackOverflow社区need to exit the application to the email application and click on send to go back to my application. Can't I just send the email without exiting or at least without needing to click on send button, can't there be some sort of a framework that auto-sends the email?

Kind Regards, Heba


Here's the code:

(Don't forget to add the messageUI framework to your project!!!)

First import the message framework:

#import <MessageUI/MessageUI.h>

then mark your self as a delegate like this

@interface MYViewController () <MFMailComposeViewControllerDelegate>

then to pull up the composer:

- (IBAction)supportPressed:(id)sender
{
    if ([MFMailComposeViewController canSendMail]) {
        MFMailComposeViewController *composeViewController = [[MFMailComposeViewController alloc] initWithNibName:nil bundle:nil];
        [composeViewController setMailComposeDelegate:self];
        [composeViewController setToRecipients:@[@"example@email.com"]];
        [composeViewController setSubject:@"example subject"];
        [self presentViewController:composeViewController animated:YES completion:NULL];
    }
}

Then to handle the delegate callback and dismiss the composer:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    //Add an alert in case of failure
    [self dismissViewControllerAnimated:YES completion:nil];
}


You can use MFMailComposeViewController to send in-app email. You can use this code inside one of your view controllers (for example, in response to a button press). Note that you will need to add the MessageUI framework to your app.

#import <MessageUI/MessageUI.h>

The code to present the mail view controller:

MFMailComposeViewController *mail = [[[MFMailComposeViewController alloc] init] autorelease];

mail.mailComposeDelegate = self;

[mail setToRecipients:[NSArray arrayWithObject:@"email@example.com"]];
[mail setSubject:@"Set The Subject Here"];    

[self presentModalViewController:mail animated:YES];

See the documentation for how to implement the mailComposeDelegate - you can use this to dismiss the modal view controller when the email is sent or the user has canceled the task.


Look for MFMailComposeViewController . Also refer this post


To send email within the app you can use the MFMailComposeViewController class.

Like this:

if( [MFMailComposeViewController canSendMail] ) {
    MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
    [mailViewController setRecipients:[NSArray arrayWithObject:@"mail@address.com"]];
    [self.navigationController presentModalViewController:mailViewController animated:YES];
    [mailViewController release];
}


Use this short code if you are not able to hard code: < a href="mailto:example@example.com" >Send Mail< /a >

0

精彩评论

暂无评论...
验证码 换一张
取 消