swift发送短信和邮件

 // 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")

        }

    }
时间: 2024-10-12 05:14:59

swift发送短信和邮件的相关文章

php批量发送短信或邮件的方案

最近遇到在开发中遇到一个场景,后台管理员批量审核用户时候,需要给用户发送审核通过信息,有人可能会想到用foreach循环发送,一般的短信接口都有调用频率,循环发送,肯定会导致部分信息发送失败,有人说用sleep()睡一会儿,这样也不行,如果遇到用户多的情况肯定会导致php执行超时,楼主参考网上方案,有2种解决方案,第一种是用队列,比较常用的有rabbitMQ,这一个跨多语言的消息队列实现,功能很强大,具体可以百度,由于这个场景算小,不打算用rabbitMQ,还有一种方案,就是用Linux任务计划

Quartz.net定时发送短信和邮件(2.30版本)

Quartz.net程序包区官方下载.解压需要要bin里边的[Quartz.dll][Common.Logging.Core.dll][Common.Logging.dll]这三个类库,然后把这三个类库添加到自己的项目bin文件夹中中然后引用.然后在web.config appSetting配置文件中添加<add key="cronExpr" value="0 54 16 * * ?"/> value的值是你要什么时候调度的时间我设置的是每天的下午四点5

监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员

要求:每30秒实现检测一次.如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误. #!/bin/sh#monitor mysql master to salve connection#by zkg 2019-08-22 . /etc/init.d/functions #Define variablesMYSQLUSER=rootMYSQLPASSWD=DbAppSOCKET=/data/mysql/tmp/mysql.sockMYSQLCMD="mysql -

调用系统的打电话,发短信,邮件,蓝牙

在开发某些应用时可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,此时你可以直接使用UIApplication的OpenURL:方法指定特定的协议来打开不同的系统应用.常用的协议如下: 打电话:tel:或者tel://.telprompt:或telprompt://(拨打电话前有提示) 发短信:sms:或者sms:// 发送邮件:mailto:或者mailto:// 启动浏览器:http:或者http:// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

iOS学习笔记28-系统服务(一)短信和邮件

一.系统应用 在开发某些应用时,我们可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,或者直接调用安装的第三方应用,这个要怎么实现呢? 这里统一使用UIApplication的一个对象方法来实现: //打开不同的系统应用 - (void)openUrl:(NSURL *)url; 那怎么区分我是要打电话还是发短信等等呢?之前我们学习网络的时候,是不是URL最前面使用的是http://,使用本地文件是不是前面就变成file://了,这就是URL的协议,我们就是控制URL的协议,来打开不

sqlalchemy中使用event设置条件触发短信与邮件通知

一.原因 近期在做短信与邮件通知系统.使用到了这一块.例如,当订单完成以后进行邮件短信的通知.虽然可以采用直接调用接口的方式实现,但有几个原因让我希望使用条件触发的方式 1.由于系统中支持线上线下以及代充值等多种方式,所以在多个地方订单改变状态.这样就让触发通知的代码凌乱分布. 2.系统将来扩建,需要新增加接口.则需要新增加调用的代码. 总而言之,直接调用将会增加维护难度.因此准备在订单的状态首次被置为支付成功时候进行短信与邮件的通知. 二.模块需求 短信与邮件的通知不能影响内部系统的运行,但由

IOS中调用系统的电话、短信、邮件、浏览功能

iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评论, 收藏, 编辑 --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: 调用系统应用 使用系统服务目 录 短信与邮件 通讯录

C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法

1.Ajax请求处理页面: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState; using System.Web.Services; namespace Web.User.Ajax { /// <summary> /// SendCheckcode 的摘要说明 /// </summary> [WebSer

ios开发——实用技术篇Swift篇&amp;地址薄、短信、邮件

1 //返回按钮事件 2 @IBAction func backButtonClick() 3 { 4 self.navigationController?.popViewControllerAnimated(true) 5 } 6 7 //新增联系人 8 @IBAction func addPeople () 9 { 10 //取得电话薄句柄 11 var error:Unmanaged<CFError>? 12 var addressBook: ABAddressBookRef? = AB