[XCODE] iPhone メールを送信する
今日はiPhoneアプリケーションからメールを送信する方法を記載します。今回利用するメール送信方法は、「MFMailComposeViewController」クラスを利用する方法です。
画面からのメール送信方法は、以下の通り。「mail」ボタンを押す事で、メール送信画面へ移動します。メール送信画面では、メールを送信するかキャンセルすると、もとの画面に戻ってきます。
(メール画面を呼び出す画面例↓↓↓)
(メール画面例↓↓↓)
メール送信画面を開くための実装は以下です。
MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init]; [vc setMailComposeDelegate:self]; [vc addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"freeHand.pdf"]; [vc setTitle:@"Free Hand Drawing"]; [self presentModalViewController:vc animated:YES]; [vc release];
「MFMailComposeViewController」を利用するので、「#import <MessageUI/MessageUI.h>」が必要です。
「MFMailComposeViewController」のインスタンスを生成後、メールタイトルや添付ファイルを設定し、メール画面を表示しています。
メール画面で送信やキャンセルを行った際に、何か動作させたい為に、「MFMailComposeViewControllerDelegate」を実装したselfをデリゲートに設定しています。
メール画面で送信やキャンセルを行った際に、何か動作させたい場合の実装は以下です。(MFMailComposeViewControllerDelegateを実装しMFMailComposeViewControllerのデリゲートに事前に設定する必要あり)
- (void) mailComposeController:(MFMailComposeViewController *)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError *)error {
[controller dismissModalViewControllerAnimated:YES];
}
本メソッドの中で何か動作させたい事を記述します。この例では特にやりたい事は無いので、メール送信画面を閉じるのみです。
■ 最後に
メール送信方法は難しいのかと思いきや、意外とカンタンでした。よかたよかた。iPhoneアプリ開発はまだまだ調べる事が多く(それも英語多す)ですが、情報はあるので自分で頑張りやすいですね。引き続き楽しく実装実装!!