美文网首页iOS
iOS - Email Message UI

iOS - Email Message UI

作者: ienos | 来源:发表于2021-08-18 15:23 被阅读0次

官方文档


MFMailComposeViewController

class MFMailComposeViewController: UINavigationController

使用该控制器可以调起系统电子邮件的界面

email

在调起之前,可以对主题、收件、正文进行预填写

第一步:检查用户是否已经配置发送电子邮件的邮箱

if !MFMailComposeViewController.canSendMail() {  
    print("Mail services are not available")
    return
}

如果 canSendMail() 返回 false,应提示用户前往系统应用中的 "邮件" 进行邮箱设置

第二步: 配置和显示控制器

let composeVC = MFMailComposeViewController()
/// MFMailComposeViewControllerDelegate
composeVC.mailComposeDelegate = self

/// 配置显示页面信息
composeVC.setToRecipients(["addressTo@example.com"]) // 收件人
composeVC.setCcRecipients(["addressCc@example.com"]) // 抄送人
composeVC.setBccRecipients(["addressCc@example.com"]) // 密件抄送

composeVC.setSubject("Hello!") // 主题
composeVC.setMessageBody("Hello from California!", isHTML: false) // 消息内容
composeVC.addAttachmentData(Data.init(), mimeType: "", fileName:"") // 添加附件
composeVC.setPreferredSendingEmailAddress("addressTo@example.com") // 设置发件人中的首选 email

/// 模态推出控制器
self.present(composeVC, animated: true, completion: nil)

第三步: MFMailComposeViewControllerDelegate 代理方法实现

用户点击发送或取消后的代理回调

func mailComposeController(controller: MFMailComposeViewController,
                                              didFinishWithResult result: MFMailComposeResult,
                                              error: NSError?) {

    /*
        MFMailComposeResult 
         - sent: 发送成功
         - cancelled:  取消发送
         - saved: 保存在草稿文件夹中
         - failed: 操作失败
    */

    dismiss(animated: true, completion: nil)
}

相关文章

网友评论

    本文标题:iOS - Email Message UI

    本文链接:https://www.haomeiwen.com/subject/mfugbltx.html