2011-05-15 71 views
1

由於應用已經設置了主題和正文,我需要發送電子郵件而不退出應用。我已經知道如何發送電子郵件,但我需要將應用程序退出到電子郵件應用程序,然後單擊發送回到我的應用程序。我不能只發送電子郵件而不退出,或者至少不需要點擊發送按鈕,不能有某種自動發送電子郵件的框架嗎?發送應用內電子郵件

親切的問候, 河壩

回答

0

要在應用程序內發送電子郵件,您可以使用MFMailComposeViewController類。

像這樣:

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

您可以使用MFMailComposeViewController來傳送應用程式的電子郵件。您可以在您的一個視圖控制器內使用此代碼(例如,響應按鈕按下)。請注意,您需要將MessageUI框架添加到您的應用程序中。

#import <MessageUI/MessageUI.h> 

呈現郵件視圖控制器代碼:

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

mail.mailComposeDelegate = self; 

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

[self presentModalViewController:mail animated:YES]; 

請參閱如何實現mailComposeDelegate的文件 - 您可以使用此解僱模態視圖控制器時,發送電子郵件或用戶已取消該任務。

3

下面的代碼:

(不要忘記將messageUI框架添加到您的項目!)

首次進口的消息框架:

#import <MessageUI/MessageUI.h> 

然後標記你的自我作爲這樣的代表

@interface MYViewController() <MFMailComposeViewControllerDelegate> 

然後拉起作曲家:

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

然後辦理委託回調和罷免作曲:

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

使用此短代碼,如果你不能硬編碼:< A HREF =「電子郵件地址:[email protected] 「>發送郵件</a>