利用GoogleAppsScript自动回复短信实现Google Voice保号
原理:利用Google Apps Script 回复邮件来实现自动回复短信,以达到保号目的。当然你也可以发送“天王盖地虎”到+1 (234)8050-988,我会在两分钟内回复你^_^。
将短信转发给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');
var gmailThreads;
var messages;
var messagecount;
var sender;
var num = 9; //设置连续自动回复邮件的次数(为防止两人都是自动回复,当发送次数达到 9 时将不自动回复)。
var hours = 12; //过了多少小时后又可以自动回复。
try {
for (var gg = 0; gg < labelObj.getUnreadCount(); gg++) {
gmailThreads = labelObj.getThreads()[gg];
messages = gmailThreads.getMessages();
messagecount = gmailThreads.getMessageCount();
//console.log(messages[messagecount - 9].getDate() + " time");
for (var ii = 0; ii < messages.length; ii++) {
if (messages[ii].isUnread()) {
msg = messages[ii].getPlainBody();
sender = messages[ii].getFrom();
array = [
["弱水三千,只取一瓢"],
["情不知所起,一往而深"],
["有钱买房住别墅,没钱买房先首付"],
["衣带渐宽终不悔,为伊消得人憔悴"],
["有志者事竟成!"]
];
var j = Math.floor(Math.random() * (array.length));
var temp = array[j];
if (messagecount < num){
MailApp.sendEmail(sender, "Auto Reply", temp);
}else if( (messages[messagecount - 1].getDate().getTime() - messages[messagecount - num].getDate().getTime()) > hours * 60 * 60 * 1000 ){
MailApp.sendEmail(sender, "Auto Reply", "Hi, 您好!我们已经发了好几条信息了,可以停下来休息休息一下了!本短信由 Google Apps Script 自动发出。");
}
messages[ii].markRead();
messages[ii].moveToTrash();
}
}
}
} catch (err) {
console.error('for loop error: ' + e);
}
}
如你所见,部分内容代码你可以自行修改。
设置脚本自动触发

选择每分钟触发

保存后会设置权限,给予放行就可以了。
延伸阅读>>实用的Google脚本
THE END