我有一个iPhone应用程序,可以让用户通过HTML发送一些预先确定的文本。
我遇到的问题是,如果文本中包含特殊字符(例如,&符号,>,<),我用于发送电子邮件正文的NSString变量会被截断特殊的角色。
我不知道如何解决这个问题(我尝试使用方法stringByAddingPercentEscapesUsingEncoding ......但这并没有解决问题)。
关于我做错了什么/如何解决它的想法?
以下示例代码显示了我正在尝试做的事情
感谢!!!
- (void)send_an_email:(id)sender {
NSString *subject_string = [NSString stringWithFormat:@"Summary of %@", commercial_name];
NSString *body_string = [NSString stringWithFormat:@"%@<br /><br />", [self.dl email_message]]; // email_message returns the body of text that should be shipped as html. If email_message contains special characters, the text truncates at the special character
NSString *full_string = [NSString stringWithFormat:@"mailto:?to=&subject=%@&body=%@", [subject_string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [body_string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[[NSURL alloc] initWithString:full_string]];
}
答案 0 :(得分:0)
这适用于我从应用内发送电子邮件。你拥有它的方式,它退出应用程序并打开邮件。尝试这样的事情:
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
... do your email setup code
[picker setMessageBody:emailBody isHTML:YES];