2011/11/29更新

[XCODE] iPhone メールを送信する

このエントリーをはてなブックマークに追加            

今日はiPhoneアプリケーションからメールを送信する方法を記載します。今回利用するメール送信方法は、「MFMailComposeViewController」クラスを利用する方法です。

画面からのメール送信方法は、以下の通り。「mail」ボタンを押す事で、メール送信画面へ移動します。メール送信画面では、メールを送信するかキャンセルすると、もとの画面に戻ってきます。

(メール画面を呼び出す画面例↓↓↓)

f:id:yoheiM:20110223191036p:image

(メール画面例↓↓↓)

f:id:yoheiM:20110223191534p:image

メール送信画面を開くための実装は以下です。

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アプリ開発はまだまだ調べる事が多く(それも英語多す)ですが、情報はあるので自分で頑張りやすいですね。引き続き楽しく実装実装!!







こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。