0

アプリからメールを送信しようとしています。受信者ID、ccid、sub、およびメッセージを(動的に)入力したい。

ありがとう

センティルクマール

4

2 に答える 2

3

iOS 3+ では、View Controller ヘッダーに #import をインポートします。

それで:

-(void)showMailPanel {
    MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];

        // only on iOS < 3
    //if ([MFMailComposeViewController canSendMail] == NO)
    //  [self launchMailApp]; // you need to 

    mailComposeViewController.mailComposeDelegate = self;
    [mailComposeViewController setToRecipients:[NSArray arrayWithObjects:@"email address1",@"email address 2",nil]];
    [mailComposeViewController setSubject:@"your subject"];
    [mailComposeViewController setMessageBody:@"your body" isHTML:YES];
    mailComposeViewController.delegate = self;
    [self.navigationController presentModalViewController:mailComposeViewController animated:YES];

    [mailComposeViewController release];

}


- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{   
    // Notifies users about errors associated with the interface
    switch (result)
    {
        case MFMailComposeResultCancelled:
            NSLog(@"Result: canceled");
            break;
        case MFMailComposeResultSaved:
            NSLog(@"Result: saved");
            break;
        case MFMailComposeResultSent:
            NSLog(@"Result: sent");
            break;
        case MFMailComposeResultFailed:
            NSLog(@"Result: failed");
            break;
        default:
            NSLog(@"Result: not sent");
            break;
    }
    [controller dismissModalViewControllerAnimated:YES];
}

-(void)launchMailApp {
{
    NSString *recipients = @"dest_email";
    NSString *email = [NSString stringWithFormat:@"%@%@", recipients, subject];
    email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]];
}
于 2011-02-09T09:21:28.537 に答える
2

次のようなものが必要です。

//Import this in your .h file
#import <MessageUI/MessageUI.h>

...

    MFMailComposeViewController *mailController = [[[MFMailComposeViewController alloc] init] autorelease];
    mailController.mailComposeDelegate = self;
    [mailController setSubject:[NSString stringWithFormat:@"Report a problem - #%@", yourUserID]];
    [mailController setToRecipients:[NSArray arrayWithObject:@"support@yourWebsite.com"]];
    [self presentModalViewController:mailController animated:YES];

さらに、親ビュー コントローラー (デリゲート) は、MFMailComposeViewControllerDelegateプロトコルに準拠する必要があります。

    - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
        //Extra implementation here...
        [self dismissModalViewControllerAnimated:YES];
    }
于 2011-02-09T09:24:11.703 に答える