我只是尝试使用此代码发送电子邮件,它似乎有效:
NSString* urlEmail = [NSString stringWithString: @"mailto:foo@example.com?cc=bar@example.com&subject=test%20from%20me!&body=this%20is%20a%20test!"];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlEmail]];
唯一的问题是,是否有一个函数可以用来自动转义普通NSString中的所有内容,所以我不必像这样手动写出来?如果没有,我如何使用stringWithFormat而不与字符串中已有的%符号冲突?我基本上希望能够动态地追加,主题,身体等。
答案 0 :(得分:9)
使用MFMailComposeViewController:
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setToRecipients:recipients];
[picker setSubject:subject];
[picker setMessageBody:body isHTML:YES];
[self presentModalViewController:picker animated:YES];
[picker release];
答案 1 :(得分:1)
根据https://stackoverflow.com/a/917630/535632,你可以这样逃避:
NSString *urlStr = [urlEmail stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];