邮件API - MFMailComposeViewController

MFMailComposeViewController

  • 系统提供的类
  • 使用系统邮件来实现发送邮件
企业微信截图_9a41540d-fdd0-43ec-9920-00b212f08d35.png
  • 项目中先导入MessageUI.framework
  • 先判断是否能发送邮件
if !MFMailComposeViewController.canSendMail() {
  //不支持发送邮件
  }
  else {
   //支持发送邮件
  }
  • 调起系统发送邮件界面
 let mail = MFMailComposeViewController()
 mail.navigationBar.tintColor = UIColor.blue //导航颜色
 mail.setToRecipients(["123456789@qq.com"]) //设置收件地址
 mail.setCcRecipients(["123456789@qq.com"]) //添加抄送
 mail.setBccRecipients(["123456789@qq.com"]) //秘密抄送
 mail.mailComposeDelegate = self //代理

 mail.setSubject("邮件标题")
 //发送文字
 mail.setMessageBody("文字内容", isHTML: false) //邮件主体内容
 //发送图片
 let imageData: NSData = UIImagePNGRepresentation(UIImage(named: "图片名字")!)! as NSData
 mail.addAttachmentData(imageData as Data, mimeType: "", fileName: "图片名字.png")

 present(mail, animated: true, completion: nil)
  • 代理方法
    1- 遵循: MFMailComposeViewControllerDelegate
    2- 设置代理: mail.mailComposeDelegate = self
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
        if result == MFMailComposeResult.sent {
            //发送成功
        }
        else if result == MFMailComposeResult.cancelled {
            //取消发送
        }
        else if result == MFMailComposeResult.failed {
            //发送失败
        }
        else {
            //已保存
        }
        dismiss(animated: true, completion: nil)
    }

测试

在测试之前,需要先配置一下测试机上的系统邮件。(以iOS 12为例)

  • 设置 -> 密码与账号 -> 添加账号

  • 在网页登录qq邮箱,设置->账户

  • 最后可以拿到授权码

    账号.png

    开启IMAP.png

    验证密保.png

    授权码.png

  • 在iPhone上的添加自己的邮箱账号


    设置.png

    账号.png

    添加.png

    填写授权码.png
  • 将获取到的授权码,填写在密码框中。然后点击下一步,即可添加入邮箱账号。

    手机邮箱.png

  • 最后在邮件中,可以看到你添加的邮箱账号。


    企业微信截图_ac20a22d-96a9-49bb-8415-9de6390a6168.png
  • 这样就可以进行测试了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 前言 这是一篇关于乐为物联平台的详细使用手册。 1.1乐为物联简介 乐为物联http://open...
    乐为物联阅读 4,396评论 0 7
  • 1 为何要发电子邮件? 作为职场人士,想必在工作中大家都经常收发电子邮件,一封高效得体的工作邮件势必会让沟通事半功...
    Helen_Cat阅读 5,997评论 0 12
  • 是的,我很好 早晨有足够的新鲜空气让我呼吸 傍晚也可以看到日落 也有足够的阳光温暖我 周围的人都很温柔,温柔的快要...
    风样阅读 113评论 0 1
  • 又到秋来八月八, 青葱如烟念芳华, 何来酒香人方醉, 春风做伴好还家。
    逍遥的城阅读 340评论 1 1