如何在 iPhone 應用程式中傳送郵件?


要從我們的應用程式傳送電子郵件,我們需要使用 URL Schemes 和一些事件操作,透過這些操作來發送電子郵件。我們實際上無法從應用程式傳送電子郵件,除非它是一個郵件應用程式並且我們使用 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)
}

此函式可以在“開啟 MF 郵件”按鈕的操作程式碼體中呼叫,類似於方法一,它會產生以下結果。

注意 - 這些應用程式無法在模擬器上執行,因為模擬器不支援郵件,您需要一個實際的裝置。

更新於: 2020-06-30

141 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告