19

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

4

4 回答 4

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

 NSString *url = [URLEMail stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]; 
 [[UIApplication sharedApplication]  openURL: [NSURL URLWithString: url]];
于 2012-05-09T09:25:58.883 回答
11

试试这个。

-(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]];
}
于 2012-05-09T09:26:29.257 回答
7

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];
于 2017-06-09T21:25:13.130 回答
4

哎哟!

它的长短是;你不能。

您可以创建电子邮件撰写视图以发送电子邮件(请参阅MFMailComposeViewController),但您不能无目的随意打开应用程序。

请参阅上一篇文章以获得澄清:从另一个(iPhone)中启动应用程序

确实,用户关闭您的应用程序并打开邮件并不费力,所以无论如何我都不会太担心。

于 2012-05-09T09:29:13.150 回答