千家信息网

iOS12系统应用发送普通邮实现发送的示例分析

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章给大家分享的是有关iOS12系统应用发送普通邮实现发送的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。iOS12系统应用发送普通邮实现发送构建好邮件以后,可
千家信息网最后更新 2025年11月07日iOS12系统应用发送普通邮实现发送的示例分析

这篇文章给大家分享的是有关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所示。当轻拍"取消"按钮的"删除草稿"按钮后,会输出以下的内容:

邮件取消

当轻拍"取消"按钮的"保存草稿"按钮后,会输出以下的内容:

邮件保存在草稿文件夹中

当轻拍"发送"按钮后,会输出以下的内容:

邮件已在用户的发件箱中排队,准备发送

邮件发生错误,会输出以下的内容:

邮件失败

感谢各位的阅读!关于"iOS12系统应用发送普通邮实现发送的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

邮件 按钮 草稿 错误 内容 用户 类型 形式 文件 文件夹 输出 示例 系统 应用 参数 对象 属性 语法 准备 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 温岭定制软件开发生产过程 舟山嵌入式软件开发需要学什么 字符常量的正确表示方法数据库 数据库逻辑蕴含 网络安全中的网络什么意思 网络安全最好的专科学校 百万英镑小说软件开发 白云区质量网络技术开发商家 宇视国标28181服务器无响应 对于计算机网络技术未来的打算 外国服务器排行 .net 服务端软件开发 车联网的网络技术 你们单位网络安全做到位了吗 佛山服务器服务 网络安全太强大怎么回事 上海直销服务器应用范围 软件开发成功路线图敏捷模式 事业单位网络安全管理岗位 计算机网络技术的市场 网络安全的标语11条 浙江稠州银行软件开发 北京php软件开发 强化网络安全保密 TCP服务器与客户端代码C语言 达内软件开发简历包装 网络技术学习励志语录 智能车牌识别管理系统数据库恢复 网络安全新方向和创意 软件开发的操作可行性是指
0