iOS 5 самый простой способ отправки электронной почты из приложения - PullRequest
1 голос
/ 15 марта 2012

Я только что попытался отправить электронное письмо, используя этот код, и, похоже, он работает:

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, не конфликтуя со знаками%, уже находящимися в строке? В основном я хочу иметь возможность динамически добавлять субъект, тело и т. Д.

Ответы [ 2 ]

9 голосов
/ 15 марта 2012

Использовать 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 голос
/ 15 марта 2012

Согласно https://stackoverflow.com/a/917630/535632, вы можете сбежать так:

NSString *urlStr = [urlEmail stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...