使用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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
PHP脚本数据库功能详解(中)
Oct 09 PHP
PHP5 面向对象(学习记录)
Dec 02 PHP
PHP url 加密解密函数代码
Aug 26 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
yii操作session实例简介
Jul 31 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
php文件上传你必须知道的几点
Oct 20 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
php和vue配合使用技巧和方法
May 09 PHP
详细分析PHP7与PHP5区别
Jun 26 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
ThinkPHP惯例配置文件详解
2014/07/14 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
PHP对象相关知识总结
2017/04/09 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
Python Property属性的2种用法
2015/06/21 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
python 列表降维的实例讲解
2018/06/28 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
python实现批处理文件
2020/07/28 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
大学毕业生通用求职信
2013/09/28 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
工程承诺书怎么写
2014/05/24 职场文书
创文明城市标语
2014/06/16 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书