发送应用内电子邮件

时间:2011-05-15 11:03:08

标签: iphone

我需要在不退出应用程序的情况下发送电子邮件,因为主题和正文已由应用程序设置。我已经知道如何发送电子邮件但我需要将应用程序退出到电子邮件应用程序并单击发送以返回我的应用程序。我不能只是在不退出的情况下发送电子邮件或者至少不需要点击发送按钮,是不是有某种自动发送电子邮件的框架?

亲切的问候, 贺拔

5 个答案:

答案 0 :(得分: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:@[@"example@email.com"]];
        [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];
}

答案 1 :(得分:2)

您可以使用MFMailComposeViewController发送应用内电子邮件。您可以在其中一个视图控制器中使用此代码(例如,响应按下按钮)。请注意,您需要将MessageUI框架添加到您的应用程序。

#import <MessageUI/MessageUI.h>

显示邮件视图控制器的代码:

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];

请参阅有关如何实现mailComposeDelegate的文档 - 您可以使用此方法在发送电子邮件或用户取消任务时关闭模式视图控制器。

答案 2 :(得分:0)

寻找MFMailComposeViewController。另请参阅this帖子

答案 3 :(得分:0)

要在应用内发送电子邮件,您可以使用MFMailComposeViewController课程。

像这样:

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

答案 4 :(得分:0)

如果您无法硬编码,请使用此短代码:&lt; a href =&#34; mailto:example@example.com" &gt;发送邮件&lt; / a&gt;