如何从我自己的应用程序打开iPhone邮件应用程序?

时间:2012-05-09 09:22:49

标签: iphone objective-c ios ios4

我正在处理注册功能。在此功能中,用户成功创建帐户。我要求他或她激活他的帐户。 如果用户说是,我想打开iphone的邮件应用程序。 现在我的问题很简单,如何从我自己的应用程序打开邮件应用程序?

4 个答案:

答案 0 :(得分:48)

#define URLEMail @"mailto:sb@sw.com?subject=title&body=content"

 NSString *url = [URLEMail stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]; 
 [[UIApplication sharedApplication]  openURL: [NSURL URLWithString: url]];

答案 1 :(得分:12)

试试这个。

-(void)launchMailAppOnDevice
{
    NSString *recipients = @"mailto:myemail@gmail.com?subject=subjecthere";
    NSString *body = @"&body=bodyHere";

    NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body];
    email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]];
}

答案 2 :(得分:4)

嗨!

它的长短是;你不能。

您可以创建电子邮件撰写视图以发送电子邮件(请参阅MFMailComposeViewController),但无法在没有目的的情况下随意打开应用程序。

请参阅此前发布的帖子以获得澄清:Launch an app from within another (iPhone)

实际上,用户关闭您的应用并打开Mail并没有太大的努力,所以无论如何我都不会过分担心它。

答案 3 :(得分:4)

stringByAddingPercentEscapesUsingEncoding和openURL已弃用。

现在使用:

#define URLEMail @"mailto:sb@sw.com?subject=title&body=content"

NSString * encodedString = [URLEMail stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];

UIApplication *application = [UIApplication sharedApplication];
    [application openURL:[NSURL URLWithString: encodedString] options:@{} completionHandler:nil];