[swift] Swift 메일 발송

소개

Swift 언어를 사용하여 메일을 발송하는 방법을 소개합니다.

코드 예시

import Foundation
import MessageUI

class EmailSender: NSObject, MFMailComposeViewControllerDelegate {
    
    func sendEmail() {
        guard MFMailComposeViewController.canSendMail() else {
            print("이 기기에서는 메일을 보낼 수 없습니다.")
            return
        }
        
        let mailComposeViewController = MFMailComposeViewController()
        mailComposeViewController.mailComposeDelegate = self
        mailComposeViewController.setToRecipients(["recipient@example.com"])
        mailComposeViewController.setSubject("안녕하세요!")
        mailComposeViewController.setMessageBody("이 메일은 Swift에서 발송한 메일입니다.", isHTML: false)
        
        if let topViewController = UIApplication.shared.keyWindow?.rootViewController {
            topViewController.present(mailComposeViewController, animated: true, completion: nil)
        }
    }
    
    func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
        controller.dismiss(animated: true, completion: nil)
    }
}

사용 방법

  1. MessageUI 프레임워크를 프로젝트에 추가합니다.
  2. EmailSender 클래스를 생성합니다.
  3. sendEmail() 메서드를 호출하여 메일을 발송합니다.

결과

위의 코드를 실행하면, 메일 작성 화면이 나타나며 지정한 수신자, 제목 및 본문이 채워집니다. 사용자는 메일을 편집하거나 바로 전송할 수 있습니다.

결론

Swift에서 메일을 발송하는 방법을 알아봤습니다. MFMailComposeViewController 클래스를 사용하여 메일 작성 화면을 표시하고, MFMailComposeViewControllerDelegate 프로토콜을 구현하여 메일 발송 결과를 처리할 수 있습니다.