溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS12系統(tǒng)應用發(fā)送普通郵實現(xiàn)發(fā)送的示例分析

發(fā)布時間:2021-12-21 11:10:40 來源:億速云 閱讀:140 作者:小新 欄目:移動開發(fā)

這篇文章給大家分享的是有關(guān)iOS12系統(tǒng)應用發(fā)送普通郵實現(xiàn)發(fā)送的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

iOS12系統(tǒng)應用發(fā)送普通郵實現(xiàn)發(fā)送

構(gòu)建好郵件以后,可以發(fā)送該郵件。此時需要使用mailComposeDelegate屬性,該屬性用來設置委托,其語法形式如下:

unowned(unsafe) var mailComposeDelegate: MFMailComposeViewControllerDelegate? { get set }

該屬性的值為MFMailComposeViewControllerDelegate協(xié)議類型。該協(xié)議中包含mailComposeController(_:didFinishWith:error:)方法。該方法會在用戶關(guān)閉MFMailComposeViewController界面時調(diào)用,其語法形式如下:

optional func mailComposeController(_ controller: MFMailComposeViewController,
                      didFinishWith result: MFMailComposeResult,
                              error: Error?)

其中,參數(shù)說明如下:

controller:MFMailComposeViewController對象。

result用戶操作的結(jié)果。該參數(shù)是MFMailComposeResult枚舉類型,該枚舉類型中包含了4個成員。其中,cancelled表示輕拍取消中的“刪除草稿”按鈕;saved表示輕拍取消中的“保存草稿”按鈕,郵件會保存在用戶的“草稿”文件夾中,而不會發(fā)送;sent表示輕拍“發(fā)送”按鈕,郵件添加到用戶的發(fā)件箱,準備發(fā)送;failed表示郵件未保存或排隊,可能是出現(xiàn)錯誤。

error:Error對象。如果發(fā)生錯誤,此參數(shù)包含一個錯誤對象,其中包含失敗類型的信息,如錯誤域和錯誤編碼。開發(fā)者可以使用MFMailComposeErrorDomain全局變量獲取錯誤域,其語法形式如下:

let MFMailComposeErrorDomain: String

而錯誤編碼是MFMailComposeError.Code枚舉類型。該枚舉包含了2個成員。其中,saveFailed表示嘗試將郵件保存到“草稿”文件夾時發(fā)生錯誤;sendFailed表示嘗試排隊或發(fā)送電子郵件時發(fā)生錯誤。

【示例3-1】下面發(fā)送一封普通郵件,內(nèi)容為純文本形式。代碼如下:

@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("郵件失敗")
    }
    //輕拍“發(fā)送”按鈕
    if(result==MFMailComposeResult.sent){
        print("郵件已在用戶的發(fā)件箱中排隊,準備發(fā)送")
    }
    self.dismiss(animated: true, completion: nil)
}

運行程序,輕拍按鈕,會打開MFMailComposeViewController提供的標準郵件界面,如圖3.1所示。當輕拍“取消”按鈕的“刪除草稿”按鈕后,會輸出以下的內(nèi)容:

郵件取消

當輕拍“取消”按鈕的“保存草稿”按鈕后,會輸出以下的內(nèi)容:

郵件保存在草稿文件夾中

當輕拍“發(fā)送”按鈕后,會輸出以下的內(nèi)容:

郵件已在用戶的發(fā)件箱中排隊,準備發(fā)送

郵件發(fā)生錯誤,會輸出以下的內(nèi)容:

郵件失敗

感謝各位的閱讀!關(guān)于“iOS12系統(tǒng)應用發(fā)送普通郵實現(xiàn)發(fā)送的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI