android转发短信到邮箱,Android手机使用Tasker转发短信及来电
起因
更換手機號及手機后,原手機及手機號成為備用機。因為各種原因,無法棄用以及不能把原手機卡插到新手機里,故想轉發備用機的短信及來電至新手機上
工具
tasker
php
郵箱
操作
takser設置
以短信為例,在tasker上新建一個配置文件,手都短信,任意
并添加任務,名稱隨意,以方便自己識別為準。新建一個HTTP POST操作,內容參考
必要說明:
mode=sms表示內容為短信,方便和電話等其它操作共用api
服務器端采用token鑒權。設計中服務器端支持多用戶多手機,采用token來識別不同的手機
服務器(部分/偽)代碼
偽代碼
[code]
if ($post[‘token’] == ‘指定的token’){
if (preg(‘/(檢驗碼|驗證碼|快遞|快件|騰訊|支付寶|中國農業銀行)/’, $post[‘content’])){
sendmail(‘郵箱’,$post[‘content’]);
}
DbInsert($post);
}
[/code]
框架為CI,控制器部分
[php]
//處理送來的時間。從takser送來的時間為12.30形式,處理成12:30形式方便寫數據庫,防止整點12.00變成12導致的錯誤,可能非必需
$time_arr = explode(‘.’,$this->input->post(‘time’));
if (count($time_arr)>=2){
$time = ($this->input->post(‘date’).’ ‘.$time_arr[0]. ‘:’ .$time_arr[1]);
}else{
$time = ($this->input->post(‘date’).’ ‘.$time_arr[0]. ‘:0’ );
}
//正則匹配一些特殊的字符串,保護如下字符串的短信,將被轉發至郵箱(如移動139郵箱,實現免費的短信轉發/來電提醒),其余短信只存入數據庫。
$pattern = ‘/(檢驗碼|驗證碼|快遞|快件|騰訊|支付寶|中國農業銀行)/’;
preg_match($pattern, $this->input->post(‘content’), $matches, PREG_OFFSET_CAPTURE);
if($matches){
$mail_content = ‘目標手機:’.$phone."\r\n時間:".$time."\r\n來源:".$this->input->post(‘name’).'(‘.$this->input->post(‘from’).’)’."\r\n內容:".$this->input->post(‘content’);
$this->sendMail(‘Email地址’,’短信:’.mb_substr($this->input->post(‘content’),0,20),$mail_content);
}
return $this->sms_model->addSms($uid,$phone,$this->input->post(‘from’),$this->input->post(‘name’),$time,$this->input->post(‘content’));
[/php]
模型部分略,就是寫數據庫,該函數返回值為字符串,不涉及視圖層
服務器部分代碼還包括了查看短信及來電的UI部分,因為代碼目前僅支持單用戶,以及必要的UI沒有完善,暫不提交github。
總結
以上是生活随笔為你收集整理的android转发短信到邮箱,Android手机使用Tasker转发短信及来电的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 李开复给中国大学生的第三封信——成功、自
- 下一篇: 查看ERC20的精度