使用PHP免費發送定時簡訊

來源:互聯網
上載者:User

使用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進行簡訊發送。該站本身掛在新浪SAE上,原始碼可以在http://www.oschina.net/code/snippet_202258_9754找到(裡面提供下載地址)。

該API只需提供寄件者手機號,密碼,接受者手機號,訊息內容作為url參數即可。唯一需要注意的是中文的亂碼問題(使用gbk而不是utf-8編碼,直接輸入中文亂碼,輸入中文的gbk編碼手機接收正常),可以使用iconv函數或者加上參數”&u=1”解決。

舉例:調用免費API

http://2.ibtf.sinaapp.com/?phone=手機號&pwd=飛信密碼&to=接收手機號(必須為飛信好友或自己的手機號)&msg=訊息內容&u=1(解決亂碼問題)     

方案2:使用139郵箱的簡訊提醒功能

139郵箱也是中國移動的一項業務,提供了郵件簡訊提醒的功能。只要在郵箱裡面設定郵件到達通知就OK了,除了多媒體訊息,其他的長簡訊,普通簡訊,免提簡訊都是免費的。注意,時間久了,寄件匣和收件匣都要清除一下,以免佔用過多空間而影響正常使用。

另外,只需要編寫一個簡單的郵件發送的php指令碼。而新浪SAE也提供了此Mail服務。使用Mail服務裡的函數,可以快速發送郵件,代碼如下:


  1. <?php  
  2. $mail = new SaeMail();  
  3. $ret = $mail->quickSend(   
  4. '收件者@139.com' ,   
  5. '這是主題' ,  
  6. '這是本文' ,  
  7. '這是寄件者郵箱' ,   
  8. '這是寄件者密碼' ,  
  9. '這是smtp服務host' ,   
  10. [這是smpt服務連接埠] );   
  11. //發送失敗時輸出錯誤碼和錯誤資訊  
  12. if ($ret === false)  
  13. var_dump($mail->errno(),$mail->errmsg());  
  14. ?>  

詳細資料請參考Mail服務API文檔http://apidoc.sinaapp.com/sae/SaeMail.html。

效果如下:

定時發送功能

簡訊成功發送後,就需要定時了。還好新浪SAE提供了Cron服務。Cron服務是SAE為開發人員提供的分布式定時服務,用來定時觸發開發人員的特定動作,滿足比如定時計算熱門排行榜等需求。Cron的設定是通過App的config.yaml來實現的,只要使用者在App目錄下的config.yaml裡按照我們的提供的文法格式進行配置,部署後就能生效。

舉例:詳細教程參考API文檔http://sae.sina.com.cn/?m=devcenter&catId=195

增加Cron


  1. 編輯saetest/1/config.yaml,增加cron段,config.yaml樣本如下:  
  2. name: saetest  
  3. version: 1  
  4. cron:  
  5. - description: cron test  
  6. url: mycron/test.php  
  7. schedule: $2 day of october 19:00  
  8. timezone: Beijing  
  9. - description: another cron test  
  10. url: mycron/another_test.php  
  11. schedule: every 10 mins  
  12. timezone: Beijing 

上面的樣本描述了兩個定時任務:每年10月2日19點執行mycron/test.php;每隔10分鐘執行mycron/another_test.php

PHP天氣抓取

 

網上有很多地方提供天氣資訊的,比如新浪,中國天氣網等,也有相關API和開源的代碼。這個比較簡單就不細說了。當然上面提到的飛信API網站http://3.ibtf.sinaapp.com/的源碼裡也有關於天氣抓取的代碼,可以借鑒。

實現效果圖



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。