使用PHP免费发送定时短信的实例


Posted in PHP onOctober 24, 2016

由于飞信目前没有开发平台,现有API都是第三方开发,貌似是通过破解WAP飞信或者3G飞信,模拟浏览器的行为来发短信。另外Google code上有开源的php飞信发送类php-fetion。这些飞信接口方便了定时短信的开发。

背景:老妈年纪大了,文化程度不高,但是需要每天了解天气信息才能下地工作,也就无法通过网络获取天气,只能通过电视。于是寻思着自己抓取网络上的天气信息,通过手机短信发送给老妈。

问题:自己不可能每天定时给老妈发送天气短信,现有的天气预报订阅短信又是要钱的。

解决:

免费发送短信到手机

方案1:使用飞信API

由于飞信目前没有开发平台,现有API都是第三方开发,貌似是通过破解WAP飞信或者3G飞信,模拟浏览器的行为来发短信。另外Google code上有开源的php飞信发送类php-fetion(http://code.google.com/p/php-fetion/)。这些飞信接口方便了定时短信的开发。

唯一的缺点就是第三方的API不稳定,也有飞信账号泄露的风险。

此处,我使用http://3.ibtf.sinaapp.com/提供的飞信API进行短信发送。

该API只需提供发送者手机号,密码,接受者手机号,消息内容作为url参数即可。唯一需要注意的是中文的乱码问题(使用gbk而不是utf-8编码,直接输入中文乱码,输入中文的gbk编码手机接收正常),可以使用iconv函数或者加上参数”&u=1”解决。

方案2:使用139邮箱的短信提醒功能

139邮箱也是中国移动的一项业务,提供了邮件短信提醒的功能。只要在邮箱里面设置邮件到达通知就OK了,除了彩信,其他的长短信,普通短信,免提短信都是免费的。注意,时间久了,发件箱和收件箱都要清除一下,以免占用过多空间而影响正常使用。

另外,只需要编写一个简单的邮件发送的php脚本。而新浪SAE也提供了此Mail服务。使用Mail服务里的函数,可以快速发送邮件,代码如下:

<?php 
$mail = new SaeMail(); 
$ret = $mail->quickSend(  
'收件人@139.com' ,  
'这是主题' , 
'这是正文' , 
'这是发件人邮箱' ,  
'这是发件人密码' , 
'这是smtp服务host' ,  
[这是smpt服务端口] );  
//发送失败时输出错误码和错误信息 
if ($ret === false) 
var_dump($mail->errno(),$mail->errmsg()); 
?>

效果如下:使用PHP免费发送定时短信的实例

使用PHP免费发送定时短信的实例

短信成功发送后,就需要定时了。还好新浪SAE提供了Cron服务。Cron服务是SAE为开发者提供的分布式定时服务,用来定时触发开发者的特定动作,满足比如定时计算排行榜等需求。Cron的设置是通过App的config.yaml来实现的,只要用户在App目录下的config.yaml里按照我们的提供的语法格式进行配置,部署后就能生效。

增加Cron

编辑saetest/1/config.yaml,增加cron段,config.yaml示例如下: 

name: saetest 
version: 1 
cron: 
- description: cron test 
url: mycron/test.php 
schedule: $2 day of october 19:00 
timezone: Beijing 
- description: another cron test 
url: mycron/another_test.php 
schedule: every 10 mins 
timezone: Beijing

上面的示例描述了两个定时任务:每年10月2日19点执行mycron/test.php;每隔10分钟执行mycron/another_test.php

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
对盗链说再见...
Oct 09 PHP
php中的登陆login
Jan 18 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 PHP
一个简单的网页密码登陆php代码
Jul 17 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP自定义序列化接口Serializable用法分析
Dec 29 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 PHP
浅谈php和js中json的编码和解码
Oct 24 #PHP
php注册和登录界面的实现案例(推荐)
Oct 24 #PHP
php 使用html5实现多文件上传实例
Oct 24 #PHP
php 多文件上传的实现实例
Oct 23 #PHP
php 修改上传文件大小限制实例详解
Oct 23 #PHP
详解php中空字符串和0之间的关系
Oct 23 #PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 #PHP
You might like
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
犀利的js 函数集合
2009/06/11 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
js图片处理示例代码
2014/05/12 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
EJB的几种类型
2012/08/15 面试题
读书演讲主持词
2014/03/18 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
党员示范岗材料
2014/12/19 职场文书
2015年教务工作总结
2015/05/23 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL