引语

发送短信到邮箱的原理与短信转发到微信有些类似.

原理

  发送短信到邮箱是利用Ifttt这个服务将短信转发到邮箱中.Ifttt服务的可扩展性很强.

步骤

  1.注册Ifttt,2.创建一个Applet,3.在tasker中创建配置文件

  1. 注册Ifttt.
  2. 创建一个Applet
    • a. this 选择 webhooks,并设定一个**event**名字
    • b. that 选择 email
    • c. 打开webhooks服务设置记录下URL中的最后一个”/”后的字符串(也就是_key_)
  3. 在Tasker中创建配置
    详细步骤不再赘述,不知道如何操作的可移步这里用Tasker实现短信转发到微信;以接收到的短信为触发条件,创建任务添加操作_JavaScriptlet_后,代码处填写如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//下面的两个变量值需要修改 
let key = "cKKMTg7MnZKqQPFnJK__3N";//这个是你的ifttt提供的key
let event = "短信转发到邮箱";//这个是你自己设定的Applet名字
//定义post方法
function postHttp(url, data) {
let 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;
}
//获取消息
let smsrf = global("SMSRF");
let smsrb = global("SMSRB").replace(/\[\n\r\]/g, "<br>");
let mmsrs = global("MMSRS");
let smsrt = global("SMSRT").replace(/\./, ":");
let smsrd = global("SMSRD");
//判断是短信,彩信还是无法获取短信内容
smsrb =
smsrb == "%SMSRB" ? (mmsrs == "%MMSRS" ? "无法获取短信内容" : mmsrs) : smsrb;
if (smsrb == "无法获取内容") {
flashLong(smsrb);
} else {
let url = "https://maker.ifttt.com/trigger/" + event + "/with/key/" + key;
let value1 = "value1",
value2 = "value2",
value3 = "value3";
let data = JSON.stringify({
value1: smsrf,
value2: smsrt + " " + smsrd,
value3: smsrb
});
let ifttt_text = unescape(postHttp(url, data));
let text = "Congratulations! You've fired the " + event + " event";
if (ifttt_text) {
if (ifttt_text == text) {
flash("短信发送成功");
} else {
flashLong("短信发送失败");
}
} else {
flash("短信发送失败,请检查网络");
}
}

最后保存配置,这样就实现了短信转发到邮箱的功能.

视频演示

此方法的优点:

  1. 稳定
    虽然之前的教程都是单独用Tasker或者单独用Ifttt来实现,不过实际操作下来感觉要么难以入手,要么不稳定.使用Tasker+Ifttt结合的方法比较稳定可靠.
  2. 可链接的服务多
    得益于Ifttt的互联网属性,除了用此方法实现发送短信到邮箱,亦可将短信转发到telegram,google keep,google calendar,trello,Evernote等等服务中
  3. 正常上网即可实现,无需特殊联网
    Ifttt在国内可正常使用,仅需在账户绑定的时候需要特殊网络环境
  4. 可自定义程度高
    可以实现将特定特征的短信发送到一个服务中,将具有另一种特征的短信转发到另一个服务中而不冲突.

  如果你是第一天使用Tasker请看下本站的 Tasker安装第一天的教程.

最后附上Tasker配置连接:https://taskernet.com/shares/?user=AS35m8kcE3fopVGguKw+JP1fYIWaL6G53enhFTrMP6xMnJawIbufv/cr1krqlca25FgFK7KKdWs=&id=Profile:转发短信到邮箱 新增标签