使用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 include,include_once,require,require_once
Sep 05 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
PHP常用的排序和查找算法
Aug 06 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 27 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
PHP7 字符串处理机制修改
Mar 09 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
PHP 引用文件技巧
2010/03/02 PHP
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
护理实习生带教计划
2015/01/16 职场文书
材料员岗位职责
2015/02/10 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
MySQL修炼之联结与集合浅析
2021/10/05 MySQL
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript