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

構(gòu)建好郵件以后,可以發(fā)送該郵件。此時(shí)需要使用mailComposeDelegate屬性,該屬性用來設(shè)置委托,其語法形式如下:
unowned(unsafe) var mailComposeDelegate: MFMailComposeViewControllerDelegate? { get set }該屬性的值為MFMailComposeViewControllerDelegate協(xié)議類型。該協(xié)議中包含mailComposeController(_:didFinishWith:error:)方法。該方法會在用戶關(guān)閉MFMailComposeViewController界面時(shí)調(diào)用,其語法形式如下:
optional func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?)
其中,參數(shù)說明如下:
controller:MFMailComposeViewController對象。
result:用戶操作的結(jié)果。該參數(shù)是MFMailComposeResult枚舉類型,該枚舉類型中包含了4個(gè)成員。其中,cancelled表示輕拍取消中的“刪除草稿”按鈕;saved表示輕拍取消中的“保存草稿”按鈕,郵件會保存在用戶的“草稿”文件夾中,而不會發(fā)送;sent表示輕拍“發(fā)送”按鈕,郵件添加到用戶的發(fā)件箱,準(zhǔn)備發(fā)送;failed表示郵件未保存或排隊(duì),可能是出現(xiàn)錯(cuò)誤。
error:Error對象。如果發(fā)生錯(cuò)誤,此參數(shù)包含一個(gè)錯(cuò)誤對象,其中包含失敗類型的信息,如錯(cuò)誤域和錯(cuò)誤編碼。開發(fā)者可以使用MFMailComposeErrorDomain全局變量獲取錯(cuò)誤域,其語法形式如下:
let MFMailComposeErrorDomain: String
而錯(cuò)誤編碼是MFMailComposeError.Code枚舉類型。該枚舉包含了2個(gè)成員。其中,saveFailed表示嘗試將郵件保存到“草稿”文件夾時(shí)發(fā)生錯(cuò)誤;sendFailed表示嘗試排隊(duì)或發(fā)送電子郵件時(shí)發(fā)生錯(cuò)誤。
【示例3-1】下面發(fā)送一封普通郵件,內(nèi)容為純文本形式。代碼如下:
@IBAction func sendMail(_ sender: Any) {
let composeVC = MFMailComposeViewController() //實(shí)例化
composeVC.mailComposeDelegate = self
composeVC.setToRecipients(["address@example.com"]) //設(shè)置收件人
composeVC.setSubject("Hello!") //設(shè)置主題
composeVC.setMessageBody("Hello from California!", isHTML: false) //設(shè)置郵件正文
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ā)件箱中排隊(duì),準(zhǔn)備發(fā)送")
}
self.dismiss(animated: true, completion: nil)
}運(yùn)行程序,輕拍按鈕,會打開MFMailComposeViewController提供的標(biāo)準(zhǔn)郵件界面,如圖3.1所示。當(dāng)輕拍“取消”按鈕的“刪除草稿”按鈕后,會輸出以下的內(nèi)容:
郵件取消
當(dāng)輕拍“取消”按鈕的“保存草稿”按鈕后,會輸出以下的內(nèi)容:
郵件保存在草稿文件夾中
當(dāng)輕拍“發(fā)送”按鈕后,會輸出以下的內(nèi)容:
郵件已在用戶的發(fā)件箱中排隊(duì),準(zhǔn)備發(fā)送
郵件發(fā)生錯(cuò)誤,會輸出以下的內(nèi)容:
郵件失敗
感謝各位的閱讀!關(guān)于“iOS12系統(tǒng)應(yīng)用發(fā)送普通郵實(shí)現(xiàn)發(fā)送的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
本文名稱:iOS12系統(tǒng)應(yīng)用發(fā)送普通郵實(shí)現(xiàn)發(fā)送的示例分析-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.chinadenli.net/article38/djojpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、微信小程序、動態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容