iOSアプリからMFMailComposeViewControllerを使用してメール送信することができます。
プロジェクトにMessageUI.frameworkを追加する。
MFMailComposeViewControllerを呼ぶオブジェクト(おそらくはUIViewControllerまたはそそのサブクラスに)MFMailComposeViewControllerDelegateプロトコルをクラス宣言に追加する。
#import <MessageUI/MFMailComposeViewController.h>
@end
//MyViewControllerのimplementation
//[メール]ボタンがタップされた
- (IBAction)mySendMailMethod:(id)sender
{
//メール送信可能な設定になっているかチェック
if (![MFMailComposeViewController canSendMail])
{
//エラー処理
return;
}
MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init];
//メール送信後のメッセージを受け取るため、mailViewのdelegateにselfをセット。
mailView.mailComposeDelegate = self;
//アドレス、サブジェクト等の設定。
[mailView setToRecipients:[NSArray arrayWithObjects:@"someone@somewhere.com", nil]];
[mailView setSubject:@"someSubject"];
[mailView setMessageBody:@"someMessage" isHTML:NO];
//添付データをセット。
NSData *binData = someBinData;
if (binData != nil) {
[mailView addAttachmentData:binData mimeType:@"application/octet-stream" fileName:@"someFileName"];
}
//MFMailComposeViewControllerをモーダルビューで表示。
[self presentModalViewController:mailView animated:YES];
}
#pragma mark - <UINavigationControllerDelegate>
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError*)error
{
//必要であればエラー処理
//モーダルビュー解除
[self dismissModalViewControllerAnimated:YES];
}
参考: How to Send Email with Attachments
mailto:スキーマでメールアプリを起動することもできます。
0 件のコメント:
コメントを投稿