iOS, Swift
Swift ) Mail 앱으로 메일 보내기(MessageUI) - EEYatHo iOS
EEYatHo
2021. 4. 8. 00:35
Swift에서 Mail앱으로 메일을 전송할 수 있는 MessageUI라는 라이브러리를 지원합니다.
1. import해주시고,
import MessageUI
2. 액션시트나 Alert를 띄우는 것 마냥 간단하게 Modal 방식으로 present합니다.
if MFMailComposeViewController.canSendMail() {
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
// Configure the fields of the interface.
composeVC.setToRecipients(["email@example.com", "email2@example.com"])
composeVC.setSubject("처음 보여줄 제목")
composeVC.setMessageBody("처음 보여줄 내용", isHTML: false)
// Present the view controller modally.
present(composeVC, animated: true)
} else {
// Mail앱을 사용할 수 없을 경우
...
}
3. 메일 전송이나 취소 등을 분기 처리하는 것을 delegate로 합니다.
extension MyViewController: MFMailComposeViewControllerDelegate {
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
switch result {
case .sent:
// 메일 발송 성공 ( 인터넷이 안되는 경우도 sent처리되고, 인터넷이 연결되면 메일이 발송됨. )
case .saved:
// 메일 임시 저장
case .cancelled:
// 메일 작성 취소
case .failed:
// 메일 발송 실패 (오류 발생)
}
dismiss(animated: true)
}
}
반응형