使用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 相关文章推荐
PHP4实际应用经验篇(9)
Oct 09 PHP
Smarty+QUICKFORM小小演示
Feb 25 PHP
php Http_Template_IT类库进行模板替换
Mar 19 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
用php定义一个数组最简单的方法
Oct 04 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
vuejs指令详解
2017/02/07 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
Python的垃圾回收机制深入分析
2014/07/16 Python
python学习必备知识汇总
2017/09/08 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python中shell执行知识点
2020/05/06 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
医科大学生的自我评价
2013/12/04 职场文书
中学实习教师自我鉴定
2013/12/12 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
典型事迹材料范文
2014/12/29 职场文书
婚礼答谢礼品
2015/01/20 职场文书
品质保证书格式
2015/02/28 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript