iOSでは標準のメールアプリを開くURLスキームがあります。
mailto:mail@dom.com?subject=text&body=body
のアドレスをUIApplicationの共有インスタンスでopenURLすることでメールアプリが起動し、自動的に宛先、件名を補完します。
この際に、
NSString*subject = @"こんにちは!";
NSString*text = @"今度油揚げ食べましょう";
NSString*scheme = [NSString stringWithFormat:@"mailto:?subject=%@&body=%@",subject,text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:scheme]];
のようにしてしまいがちですが、これだと実はメールアプリは起動しません。
パラメータはUTF8エンコードする必要があります。
NSString*subject =
[@"こんにちは!" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString*text =
[@"今度油揚げ食べましょう" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString*scheme = [NSString stringWithFormat:@"mailto:?subject=%@&body=%@",subject,text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:scheme]];
これで正常にメールアプリが起動します。