您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用PHP免費發送定時短信的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
問題:自己不可能每天定時給老媽發送天氣短信,現有的天氣預報訂閱短信又是要錢的。
解決:
免費發送短信到手機
方案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()); ?>
效果如下:
短信成功發送后,就需要定時了。還好新浪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免費發送定時短信”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。