首頁 > 後端開發 > php教程 > 使用PHP免費發送定時簡訊的實例_php實例

使用PHP免費發送定時簡訊的實例_php實例

WBOY
發布: 2023-03-02 22:48:01
原創
1503 人瀏覽過

由於飛信目前沒有開發平台,現有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服務裡的函數,可以快速傳送郵件,程式碼如下:

<&#63;php 
$mail = new SaeMail(); 
$ret = $mail->quickSend(  
'收件人@139.com' ,  
'这是主题' , 
'这是正文' , 
'这是发件人邮箱' ,  
'这是发件人密码' , 
'这是smtp服务host' ,  
[这是smpt服务端口] );  
//发送失败时输出错误码和错误信息 
if ($ret === false) 
var_dump($mail->errno(),$mail->errmsg()); 
&#63;> 
登入後複製

效果如下:

簡訊成功發送後,就需要定時了。還好新浪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.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板