투케이2K

555. (ios/swift5) [간단 소스] MFMailComposeViewController 사용해 메일 앱에서 메일 전송 수행 본문

IOS

555. (ios/swift5) [간단 소스] MFMailComposeViewController 사용해 메일 앱에서 메일 전송 수행

투케이2K 2024. 9. 28. 20:38

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // ----------------------------------------------------------------------
    // [사전 설정 및 참고 사항] 
    // ----------------------------------------------------------------------
    // 1. 사전 디바이스 Mail 앱에 로그인이 되어있어야 합니다
    // ----------------------------------------------------------------------
    // 2. 필요 import 설정 : #import <MessageUI/MessageUI.h>
    // ----------------------------------------------------------------------





    // ----------------------------------------------------------------------
    // [소스 코드]
    // ----------------------------------------------------------------------

    if MFMailComposeViewController.canSendMail() { // [mail 보내기 가능 상태 체크]

        let mailComposeVC = MFMailComposeViewController()
        mailComposeVC.mailComposeDelegate = self // [딜리 게이트 지정]

        mailComposeVC.setToRecipients(["test@gmail.com"])
        mailComposeVC.setSubject("문의 사항")
        mailComposeVC.setMessageBody("문의 사항을 상세히 입력해주세요.", isHTML: false)
        mailComposeVC.modalPresentationStyle = .overFullScreen

        self.present(mailComposeVC, animated: true, completion: nil)

    }





    extension ViewControllerVC: MFMailComposeViewControllerDelegate { // [딜리게이트 생성]

      func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {

          switch result {
          case .cancelled:
              print("cancelled")
          case .saved:
              print("saved")
          case .sent:
              print("sent")
          case .failed:
              print("failed")
          }

          // [팝업창 닫기 처리]
          controller.dismiss(animated: true, completion: nil)
      }
    }

    // ----------------------------------------------------------------------
 

[결과 출력]

 
 

 

반응형
Comments