iOS12系統應用傳送普通郵實現傳送
iOS12系統應用傳送普通郵實現傳送
構建好郵件以後,可以傳送該郵件。此時需要使用 mailComposeDelegate 屬性,該屬性用來設定委託,其語法形式如下:
unowned(unsafe) var mailComposeDelegate: MFMailComposeViewControllerDelegate? { get set }
該屬性的值為 MFMailComposeViewControllerDelegate 協議型別。該協議中包含 mailComposeController(_:didFinishWith:error:) 方法。該方法會在使用者關閉 MFMailComposeViewController 介面時呼叫,其語法形式如下:
optional func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?)
其中,引數說明如下:
controller : MFMailComposeViewController 物件。
result : 使用者操作的結果。該引數是 MFMailComposeResult 列舉型別,該列舉型別中包含了 4 個成員。其中, cancelled 表示輕拍取消中的“刪除草稿”按鈕; saved 表示輕拍取消中的“儲存草稿”按鈕,郵件會儲存在使用者的“草稿”資料夾中,而不會傳送; sent 表示輕拍“傳送”按鈕,郵件新增到使用者的發件箱,準備傳送; failed 表示郵件未儲存或排隊,可能是出現錯誤。
error : Error 物件。如果發生錯誤,此引數包含一個錯誤物件,其中包含失敗型別的資訊,如錯誤域和錯誤編碼。開發者可以使用 MFMailComposeErrorDomain 全域性變數獲取錯誤域,其語法形式如下:
let MFMailComposeErrorDomain: String
而錯誤編碼是 MFMailComposeError.Code 列舉型別。該列舉包含了 2 個成員。其中, saveFailed 表示嘗試將郵件儲存到“草稿”資料夾時發生錯誤; sendFailed 表示嘗試排隊或傳送電子郵件時發生錯誤。
【示例 3-1 】下面傳送一封普通郵件,內容為純文字形式。程式碼如下:
@IBAction func sendMail(_ sender: Any) { let composeVC = MFMailComposeViewController() //例項化 composeVC.mailComposeDelegate = self composeVC.setToRecipients(["address@example.com"]) //設定收件人 composeVC.setSubject("Hello!") //設定主題 composeVC.setMessageBody("Hello from California!", isHTML: false) //設定郵件正文 self.present(composeVC, animated: true, completion: nil) } func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { //輕拍取消中的“刪除草稿”按鈕 if(result==MFMailComposeResult.cancelled){ print("郵件取消") } //輕拍取消中的“儲存草稿”按鈕 if(result==MFMailComposeResult.saved){ print("郵件儲存在草稿資料夾中") } //郵件失敗 if(result==MFMailComposeResult.failed){ print("郵件失敗") } //輕拍“傳送”按鈕 if(result==MFMailComposeResult.sent){ print("郵件已在使用者的發件箱中排隊,準備傳送") } self.dismiss(animated: true, completion: nil) }
執行程式,輕拍按鈕,會開啟 MFMailComposeViewController 提供的標準郵件介面,如圖 3.1 所示。當輕拍“取消”按鈕的“刪除草稿”按鈕後,會輸出以下的內容:
郵件取消
當輕拍“取消”按鈕的“儲存草稿”按鈕後,會輸出以下的內容:
郵件儲存在草稿資料夾中
當輕拍“傳送”按鈕後,會輸出以下的內容:
郵件已在使用者的發件箱中排隊,準備傳送
郵件發生錯誤,會輸出以下的內容:
郵件失敗
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2220347/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS12系統應用傳送普通郵件構建郵件iOS
- iOS12系統應用傳送郵件中的附件iOS
- iOS12系統應用開發基礎教程傳送郵件iOS
- python實現傳送郵件Python
- oracle 傳送郵件 實現方法Oracle
- python實現郵件的傳送Python
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- java 如何實現傳送郵件 email?JavaAI
- Spring Boot實現傳送QQ郵件Spring Boot
- Springboot+Javamail實現郵件傳送Spring BootJavaAI
- SpringBoot實現傳送電子郵件Spring Boot
- 傳送郵件
- 郵件傳送
- Python3實現自動傳送MySql查詢併傳送郵件PythonMySql
- python實現基於smtp傳送郵件Python
- Python 實現郵件傳送功能(進階)Python
- Python 實現郵件傳送功能(初級)Python
- SpringBoot傳送郵件Spring Boot
- phpcms傳送郵件PHP
- 郵件的傳送
- Laravel傳送郵件Laravel
- Laravel 傳送郵件Laravel
- thinkjs 傳送郵件JS
- PHP傳送郵件PHP
- nodejs 傳送郵件NodeJS
- java郵件傳送Java
- python傳送郵件Python
- Django——郵件傳送Django
- gmail傳送郵件AI
- SpringBoot郵件傳送Spring Boot
- 用oracle傳送電子郵件Oracle
- SpringBoot專案實現檔案上傳和郵件傳送Spring Boot
- 如何用python實現郵箱傳送資訊Python
- 使用多執行緒實現郵件傳送執行緒
- 用phpmailer實現網頁表單提交傳送郵件功能PHPAI網頁
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 郵箱傳送模組
- SpringBoot傳送郵件(二)Spring Boot