0

我有一个 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]];
}
4

1 回答 1

0

这适用于我从应用程序内发送电子邮件。按照您的方式,它会退出应用程序并打开邮件。尝试这样的事情:

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
... do your email setup code
[picker setMessageBody:emailBody isHTML:YES];

是一个很好的教程

于 2010-04-22T02:41:52.387 回答