使用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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
Jan 29 PHP
Zend的MVC机制使用分析(二)
May 02 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
php实现头像上传预览功能
Apr 27 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 PHP
PDO::rollBack讲解
Jan 29 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
PHP tp5中使用原生sql查询代码实例
Oct 28 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面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
Three.js学习之网格
2016/08/10 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
React Native实现地址挑选器功能
2017/10/24 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
Sanic框架路由用法实例分析
2018/07/16 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
基于python实现复制文件并重命名
2020/09/16 Python
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
高中历史教学反思
2014/02/08 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
上课迟到检讨书
2015/05/06 职场文书
2016年校长新年寄语
2015/08/17 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
如何做好工作总结!
2019/04/10 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python