メール作成 (送信)

メール作成と送信は MFMailComposeViewController という iOS に標準でインターフェイスが用意されています。そのため、簡単にメール関連の機能を組み込むことができます。

関連ライブラリーのインポート

MFMailComposeViewController を使うため MessageUI ライブラリーをインポートします。

import MessageUI

メール作成インターフェイスの呼び出し

MFMailComposeViewController を作成し、送信先や件名などを設定、presentViewController で表示します。このとき、mailComposeDelegate を self に設定することで、メール作成インターフェイスで送信ボタンやキャンセルボタンを押したときの Delegate Method を組み込めるようにします。

let mailController = MFMailComposeViewController()
mailController.mailComposeDelegate = self
mailController.setToRecipients(["送信先メールアドレス"])
mailController.setSubject("件名")
mailController.setMessageBody("本文")

self.presentViewController(mailController, animated: true, completion: nil)

Delegate Method

メール作成インターフェイスで送信ボタンやキャンセルボタンを押したとき、メール作成インターフェイスを閉じます。また、押されたボタンの結果 result に応じたコードを書くことができます。ただし、result と次の値のそれぞれの value プロパティを比較します。

func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {
	controller.dismissViewControllerAnimated(true, completion: nil)
	case MFMailComposeResultCancelled.value:
 		// キャンセル
            
 	case MFMailComposeResultSaved.value:
 		// 保存

	case MFMailComposeResultSent.value:
		// 送信

	case MFMailComposeResultFailed.value:
		// 失敗
            
	default:
		break;
	}

}

作成者: コネタねこ

上から読んでも『コネタねこ』、下から読んでも『コネタねこ』。贈り物に悩んだら、コネタねこの小ネタ帳。欲しくなっちゃうプレゼント、そんなアイデアのぞきにきてね♪

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です