iPhone メールを送信する(Part1)

今日は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 」が必要です。
「MFMailComposeViewController」のインスタンスを生成後、メールタイトルや添付ファイルを設定し、メール画面を表示しています。
メール画面で送信やキャンセルを行った際に、何か動作させたい為に、「MFMailComposeViewControllerDelegate」を実装したselfをデリゲートに設定しています。



メール画面で送信やキャンセルを行った際に、何か動作させたい場合の実装は以下です。(MFMailComposeViewControllerDelegateを実装しMFMailComposeViewControllerのデリゲートに事前に設定する必要あり)

- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {	
	[controller dismissModalViewControllerAnimated:YES];
}

本メソッドの中で何か動作させたい事を記述します。この例では特にやりたい事は無いので、メール送信画面を閉じるのみです。


■ 最後に
メール送信方法は難しいのかと思いきや、意外とカンタンでした。よかたよかた。iPhoneアプリ開発はまだまだ調べる事が多く(それも英語多す)ですが、情報はあるので自分で頑張りやすいですね。引き続き楽しく実装実装!!