用Tasker实现收到Android手机短信自动转发到邮箱
记忆水晶 人气:11 发送短信到邮箱的原理与 《用Tasker实现收到Android手机短信自动转发到邮箱》有些类似.
发送短信到邮箱是利用Ifttt这个服务将短信转发到邮箱中.Ifttt服务的可扩展性很强,
步骤:1.注册Ifttt,2.创建一个Applet,3.在tasker中创建配置文件
- 注册Ifttt. 创建一个
Applet
- a. this 选择 webhooks,并设定一个Applet event名字
- b. that 选择 email
- c. 打开webhooks服务设置记录下URL中的最后一个"/"后的字符串(也就是key)
- 在Tasker中创建配置
Tasker步骤(可参考文末第二个视频)以接收到的短信
为触发条件,创建任务添加操作JavaScriptlet
后,代码处填写如下内容:
- (详细步骤参考文末第一个视频)
1 //下面的两个变量值需要修改 2 var key = "cKKMTg7MnZKqQPFnJK__3N";//这个是你的ifttt提供的key 3 var event = "短信转发到邮箱";//这个是你自己设定的Applet名字 4 //定义post方法 5 function postHttp(url, data) { 6 var xhr = new XMLHttpRequest(); 7 xhr.addEventListener("readystatechange", function() { 8 if (this.readyState === 4) { 9 //flash(this.responseText); 10 //显示返回消息,可删除本行 11 } 12 }); 13 xhr.open("POST", url, false); 14 xhr.setRequestHeader("Content-Type", "application/json"); 15 xhr.send(data); 16 return xhr.responseText; 17 } 18 //获取消息 19 var smsrf = global("SMSRF"); 20 var smsrb = global("SMSRB").replace(/[\n\r]/g, "<br>"); 21 var mmsrs = global("MMSRS"); 22 var smsrt = global("SMSRT").replace(/\./, ":"); 23 var smsrd = global("SMSRD"); 24 //判断是短信,彩信还是无法获取短信内容 25 smsrb = 26 smsrb == "%SMSRB" ? (mmsrs == "%MMSRS" ? "无法获取短信内容" : mmsrs) : smsrb; 27 if (smsrb == "无法获取内容") { 28 flashLong(smsrb); 29 } else { 30 var url = "https://maker.ifttt.com/trigger/" + event + "/with/key/" + key; 31 var value1 = "value1", 32 value2 = "value2", 33 value3 = "value3"; 34 var data = JSON.stringify({ 35 value1: smsrf, 36 value2: smsrt + " " + smsrd, 37 value3: smsrb 38 }); 39 var ifttt_text = unescape(postHttp(url, data)); 40 var text = "Congratulations! You've fired the " + event + " event"; 41 if (ifttt_text) { 42 if (ifttt_text == text) { 43 flash("短信发送成功"); 44 } else { 45 flashLong("短信发送失败"); 46 } 47 } else { 48 flash("短信发送失败,请检查网络"); 49 } 50 }
代码里面只需要修改上面提到的2个变量值,最后保存配置,这样就实现了短信转发到邮箱的功能.
需要说明的是:虽然之前的教程都是单独用Tasker或者单独用Ifttt来实现,不过实际操作下来感觉要么难以入手,要么不稳定.使用Tasker+Ifttt结合的方法比较稳定可靠.
正常上网就可以发送到邮箱,即便是gmail也可以.
得益于Ifttt的互联网属性,除了用此方法实现发送短信到邮箱,亦可将短信转发到telegram,google keep,google calendar,trello,Evernote等等服务中
也可以实现将特定特征的短信发送到一个服务中,将具有另一种特征的短信转发到另一个服务中而不冲突.
加载全部内容