iOS 앱에서 메일 보내는 기능이 필요할때가 있다. 

이럴때에는 MFMailComposeViewController를 사용하면 편하다.


1. MessageUI 를 import 시킨다.

import MessageUI


2.MFMailComposeViewControllerDelegate를 추가하고 mailComposeController 함수를 작성한다

class TestViewController: UIViewController, MFMailComposeViewControllerDelegate {
    ...
    // MARK: MFMailComposeViewControllerDelegate Method
    func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {
        controller.dismissViewControllerAnimated(true, completion: nil)
    }
}


3. 메일 보내는 코드 작성 

let mc = MFMailComposeViewController()
mc.mailComposeDelegate = self
mc.setToRecipients(["comxpzang@gmail.com"])
mc.setSubject("TestApp for iOS")
mc.setMessageBody("문의하시고자 하는 내용을 보내주세요~", isHTML: false)
        
if MFMailComposeViewController.canSendMail() {
    self.presentViewController(mc, animated: true, completion: nil)
} else {
    let alertController: UIAlertController = UIAlertController(title:"메일 보내기", message:"\n현재 디바이스에서 이메일을 보낼수가 없습니다. 설정에서 이메일 관련 설정을 확인해주세요", preferredStyle: .Alert)
    let defaultAction = UIAlertAction(title: "확인", style: .Default, handler: {
        (alert: UIAlertAction!) in
    })
    alertController.addAction(defaultAction)
    presentViewController(alertController, animated: true, completion: nil)
}


위의 코드를 실행하면 다음과 같은 화면을 볼수 있다.



저작자 표시 비영리 변경 금지
Posted by 준치짱


티스토리 툴바