用Tasker实现收到Android手机短信自动转发到邮箱

时间:2023-03-09 03:19:14
用Tasker实现收到Android手机短信自动转发到邮箱

  发送短信到邮箱的原理与 《用Tasker实现收到Android手机短信自动转发到邮箱》有些类似.
  发送短信到邮箱是利用Ifttt这个服务将短信转发到邮箱中.Ifttt服务的可扩展性很强,
  步骤:1.注册Ifttt,2.创建一个Applet,3.在tasker中创建配置文件

      1. 注册Ifttt.
      2. 创建一个

Applet

      (详细步骤参考文末第一个视频)
  • a. this 选择 webhooks,并设定一个Applet event名字
  • b. that 选择 email
  • c. 打开webhooks服务设置记录下URL中的最后一个"/"后的字符串(也就是key)
  • 在Tasker中创建配置
    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