• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Swift发送邮件和发短信

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 // MARK: - Action

    // MARK: compose mail 发送邮件

    @IBAction func composeMail(sender: AnyObject) {

        // 判断能否发送邮件

        guard MFMailComposeViewController.canSendMail() else {

            print("不能发送邮件")

            return

        }

        let mailVC = MFMailComposeViewController()

        mailVC.mailComposeDelegate = self // 代理

        mailVC.setSubject("阳君") // 主题

        mailVC.setToRecipients(["[email protected]"]) // 收件人

        mailVC.setCcRecipients(["[email protected]"]) // 抄送

        mailVC.setBccRecipients(["[email protected]"]) // 密送

        mailVC.setMessageBody("相关内容", isHTML: false) // 内容,允许使用html内容

        if let image = UIImage(named: "qq") {

            if let data = UIImagePNGRepresentation(image) {

                // 添加文件

                mailVC.addAttachmentData(data, mimeType: "image/png", fileName: "qq")

            }

        }

        self.presentViewController(mailVC, animated: true, completion: nil)

    }

    

    // MARK: compose message 发送短信

    @IBAction func composeMessage(sender: AnyObject) {

        guard MFMessageComposeViewController.canSendText() else {

            print("不能发送短信")

            return

        }

        let messageVC = MFMessageComposeViewController()

        messageVC.messageComposeDelegate = self // 代理

        messageVC.recipients = ["18511056826"] // 收件人

        messageVC.body = "短信内容" // 内容

        // 发送主题

        if MFMessageComposeViewController.canSendSubject() {

            messageVC.subject = "阳君"

        }

        // 发送附件

        if MFMessageComposeViewController.canSendAttachments() {

            // 路径添加

            if let path = NSBundle.mainBundle().pathForResource("Info", ofType: "plist") {

                messageVC.addAttachmentURL(NSURL(fileURLWithPath: path), withAlternateFilename: "Info.plist")

            }

            // NSData添加

            if MFMessageComposeViewController.isSupportedAttachmentUTI("public.png") {

                // See [Uniform Type Identifiers Reference](https://developer.apple.com/library/ios/documentation/Miscellaneous/Reference/UTIRef/Introduction/Introduction.html)

                if let image = UIImage(named: "qq") {

                    if let data = UIImagePNGRepresentation(image) {

                        // 添加文件

                        messageVC.addAttachmentData(data, typeIdentifier: "public.png", filename: "qq.png")

                    }

                }

            }

        }

        // messageVC.disableUserAttachments() // 禁用添加附件按钮

        self.presentViewController(messageVC, animated: true, completion: nil)

    }

    

    // MARK: -  MFMailComposeViewControllerDelegate

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

        // 关闭MFMailComposeViewController

        controller.dismissViewControllerAnimated(true, completion: nil)

        guard error == nil else { // 错误拦截

            print(error)

            return

        }

        switch result { // 发送状态

        case MFMailComposeResultCancelled:

            print("Result: Mail sending canceled") // 删除草稿

        case MFMailComposeResultSaved: // 存储草稿

            print("Result: Mail saved")

        case MFMailComposeResultSent: // 发送成功

            print("Result: Mail sent")

        case MFMailComposeResultFailed: // 发送失败

            print("Result: Mail sending failed")

        default:// 其他

            print("Result: Mail not sent")

        }

    }

    

    // MARK: - MFMessageComposeViewControllerDelegate

    func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {

        print(controller.attachments) // 所有附件

        // 关闭MFMessageComposeViewController

        controller.dismissViewControllerAnimated(true, completion: nil)

        switch result { // 发送状态

        case MessageComposeResultCancelled:

            print("Result: Mail sending cancelled") // 取消发送

        case MessageComposeResultSent: // 发送成功

            print("Result: Mail sent")

        case MessageComposeResultFailed: // 发送失败

            print("Result: Message sending failed")

        default:// 其他

            print("Result: Message not sent")

        }

    }

    


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift的convenience&&designatedinit发布时间:2022-07-13
下一篇:
[Swift]LeetCode978.最长湍流子数组|LongestTurbulentSubarray发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap