开发者

Emailing HTML from within an iPhone app is stopping at special characters

I have an iPhone app that will let users email some pre-determined text as HTML.

I'm having a problem in that if the text contains special characters within the text (e.g., ampersand &, >, <), the NSString variable that I use for sending the body of the email gets truncated at the special character.

I'm not sure how to fix thi开发者_如何学Gos (I tried using the method stringByAddingPercentEscapesUsingEncoding…but this hasn't fixed the problems).

Thoughts on what I'm doing wrong / how to fix it?

Here is sample code showing what I'm trying to do

Thanks!!!

- (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]];
}


This works for me to send email from within the app. The way you have it, it quits the app and opens Mail. Try something like this:

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

Here is a good tutorial

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜