응용 프로그램에서 이메일을 보내려면 URL 체계와 이메일이 전송될 이벤트에 대한 몇 가지 조치를 사용해야 합니다. 메일링 애플리케이션이 아니고 iOS의 MessageUI 프레임워크를 사용하지 않는 한 애플리케이션에서 실제로 이메일을 보낼 수는 없지만 미리 채워진 이메일 및 제목으로 애플리케이션에서 일부 이메일 앱을 열 수 있습니다.
이를 수행하는 두 가지 방법을 모두 살펴보겠습니다.
예를 들어 iOS의 MAIL 앱을 여는 방법을 살펴보겠습니다.
-
프로젝트를 만들고 첫 번째 뷰 컨트롤러에서
-
버튼을 추가하고 "이메일 열기"를 열도록 텍스트를 변경하고 ViewController.swift 클래스에서 액션을 생성합니다.
-
"MF 메일 열기"라는 다른 버튼을 추가하고 액션도 생성합니다.
방법 1 - URL Scheme 및 기타 메일링 앱 사용
func sendEmail(email:String) { if let url = URL(string: "mailto:\(email)") { if #available(iOS 10.0, *) { UIApplication.shared.open(url) } else { UIApplication.shared.openURL(url) } } }
이 함수를 호출하여 일부 이메일 ID로 이메일을 보낼 수 있습니다. 이 함수를 첫 번째 버튼 "이메일 열기"의 본문 내에서 호출합니다. 아래는 결과입니다.
방법 2 - MessageUI 프레임워크의 MFMailCompose 사용
func sendMFmail(email: String) { let mailVC = MFMailComposeViewController() mailVC.mailComposeDelegate = self mailVC.setToRecipients([email]) mailVC.setSubject("Testing sending email") mailVC.setMessageBody("Test Body of email", isHTML: false) present(mailVC, animated: true, completion: nil) }
이 함수는 1번 방법과 유사한 "MF 메일 열기" 버튼 동작의 본문 내에서 호출할 수 있으며 다음과 같은 결과를 생성합니다.
참고 - 시뮬레이터에서 메일이 지원되지 않고 실제 기기가 필요하므로 시뮬레이터에서 실행할 수 없는 앱입니다.