使用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 相关文章推荐
测试php函数的方法
Nov 13 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
PHP7.0安装笔记整理
Aug 28 PHP
php+ajax无刷新上传图片实例代码
Nov 17 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
php微信开发之关键词回复功能
Jun 13 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 PHP
TP5框架实现签到功能的方法分析
Apr 05 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读取IMAP邮件
2006/10/09 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
PHP异常处理Exception类
2015/12/11 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
使用python开发vim插件及心得分享
2014/11/04 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
python实现周期方波信号频谱图
2018/07/21 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
python 实现逻辑回归
2020/12/30 Python
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
如何写毕业求职自荐信
2013/11/06 职场文书
产品销售员岗位职责
2013/12/18 职场文书
人与自然观后感
2015/06/16 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电