メール作成と送信は 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;
}
}
コメントを残す