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