利用GoogleAppsScript自动回复短信实现保号
原理:利用Google Apps Script 回复邮件来实现自动回复短信,以达到保号目的。当然你也可以发送“天王盖地虎”到+1 (413) 370-0333,我们会在两分钟内回复你。
本文非原创,内容来自:https://www.tiantianxiaoxiao.xyz/?p=59 。本文在其基础上配上详细图文以及完善部分脚本。
所以我们要做的:
将短信转发给Gmail
https://voice.google.com/u/0/settings 打开此页面,按照图示打开开关。
设置成功后,每次收到短信Gmail就会收到一个邮件。
用过滤器识别出此邮件与其他邮件的不同(自动归档)。
如第一步的图中所示,Google Voice转发的邮件发现人会以@txt.voice.google.com
结尾。这就是我们的目标。
我们打开设置页面,找到过滤器并且新建。
发件人就写我们上面我们的过滤条件 @txt.voice.google.com
现在已经可以匹配到我们的短信邮件了。
接下来选择我们要做的动作。
跳过收件箱(将其归档)和应用标签 是必选的。至于转发这个就看个人需要了。这个便签是自己随便写的,方便记忆我们就起名为autoReply
。
完成后就是这样:
当我们再次收到短信后,GV会把短信转发到Gmail,并归档到你上面起的便签里面。
设置自动回复脚本
https://script.google.com/home 打开这个 左上角新建项目。
填入下面的脚本。
function autoReplier() {
var labelObj = GmailApp.getUserLabelByName('autoReply'); //这里面的autoReply就是我们上面设置的归档名字。
var gmailThreads;
var messages;
var sender;
//下面就是获取我们上面指定归档里面的未读邮件,然后读取,回复,删除
for (var gg = 0; gg < labelObj.getUnreadCount(); gg++) {
gmailThreads = labelObj.getThreads()[gg];
messages = gmailThreads.getMessages();
for (var ii = 0; ii < messages.length; ii++) {
if (messages[ii].isUnread()) {
sender = messages[ii].getFrom();
MailApp.sendEmail(sender, 'Auto Reply', "你好,你的短信我已经收到。我会尽快处理。");//回复邮件
messages[ii].markRead(); //标记为已读
messages[ii].moveToTrash();//删除邮件
}
}
}
}
设置脚本自动触发
选择每分钟触发
保存后会设置权限,给予放行就可以了。
当然,Google Apps Script 能做的不仅仅只有这些。
以下供参考:
https://justcode.ikeepstudying.com/2018/12/google-apps-script-%E6%9C%80%E6%B5%81%E8%A1%8C%E5%92%8C%E6%9C%80%E5%AE%9E%E7%94%A8%E7%9A%84google%E8%84%9A%E6%9C%AC-google-apps-script%E5%B8%B8%E8%A7%81%E8%84%9A%E6%9C%AC/ Google Apps Script: 最流行和最实用的Google脚本, Google Apps Script常见脚本
https://developers.google.com/apps-script/reference
- 为网站开启Nginx缓存加速,支持html伪静态页面
- 解决WordPress升级4.2后调用国外图片导致大量404请求的问题
- JS代码实现浏览器网页标题的动态切换,略微提高网站粘性
- Go-List
- 分享张戈博客自用的php网址在线转换二维码的API源码
- zabbix agentd客户端插件Shell一键自动安装脚本
- SendCloud邮件队列状态和已使用额度的Python监控脚本
- linux/scp命令报“bash: scp: command not found lost connection”错误的解决办法
- bat/cmd批处理连接SqlServer数据库查询脚本
- 一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎
- 解决mstsc无法连接问题:由于没有远程桌面授权服务器可以提供许可证…
- Apache/Nginx伪静态规则匹配http://出现的问题与解决
- 微信文件微起底
- Go语言TCP Socket编程--1
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- c++实例之通讯录管理系统之查找联系人功能(五)
- 【python-leetcode424-滑动窗口法】替换后的最长重复字符
- c++实例之通讯录管理系统之修改联系人功能(六)
- 解决arxiv.org打开pdf缓慢问题
- c++实例之通讯录管理系统之清空联系人功能(七)
- springboot任务之定时任务
- springboot检索之整合elasticsearch并使用jest操作
- springboot任务之邮件任务
- springboot安全之整合spring security实现(只有登录才有权限、不同用户显示不同内容、记住我)
- springboot任务之异步任务
- springboot缓存之@Cacheable中常用参数
- springboot开发之添加员工
- springboot分布式之整合zookeeper和dubbo
- springboot之热部署
- c++之内存模型