您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關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所示。當輕拍“取消”按鈕的“刪除草稿”按鈕后,會輸出以下的內容:
郵件取消
當輕拍“取消”按鈕的“保存草稿”按鈕后,會輸出以下的內容:
郵件保存在草稿文件夾中
當輕拍“發送”按鈕后,會輸出以下的內容:
郵件已在用戶的發件箱中排隊,準備發送
郵件發生錯誤,會輸出以下的內容:
郵件失敗
感謝各位的閱讀!關于“iOS12系統應用發送普通郵實現發送的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。