摘要:Server掛點無人知?重要Mail用免費Google簡訊通知你
之前安迪兒設定 「重要待辦事項用google行事曆發簡訊 」
剛好看到一篇文章,是間接使用Gmail對手機發簡訊
Use Google Docs to Get Free SMS and Email Alerts When your Website is Down
安迪兒覺的很有趣,就查一下Google Docs的函式
也寫一個來玩一下
關於mail發簡訊的例子用在那呢?
最直覺就是server掛點了 or 有重要的mail想用簡訊來提醒
以安迪兒來說,前公司的server有時會掛點
雖然有同事寫監控程式,會發mail通知
(幫他聲明一下,該同事很帥氣,
住天母是金城武鄰居,單身要的話留言報名~XD)
但前經理曾對他靠杯過「mail太多了,之後要加上手機簡訊通知!! 」~XD
以這個例子來說,其實可以利用上述的方式來達到發簡訊的功能
Gmail發簡訊的原理是?
因為gmail沒有這個功能
但google行事曆有
所以用一個中間的google doc文件裡的程式定時去執行這件事
程式撰寫的邏輯大約是先用程式去搜要的gmail
再建立&搬移至google calendar上
再利用calendar的功能發簡訊
最後再做一些不重覆寄等等收尾的處理
關於試算表
一直以來安迪兒都覺的微軟excel超威的
以前助理們用到的企業內和專案的excel真是出神入化
裡面滿滿的巨集程式樞紐分析
程式寫不出來時,還可以去找他們商量
也許他們輕易的弄一下馬上就生的出結果
還可以用程式產生程式,整個讓安迪兒好生佩服
但看了一下google doc裡面的excel(試算表)
它...更強大!
除了基本的巨集之外,還可以使用一些google的服務
像是這次用的google mail和google calendar
都可以在上面寫程式做控制=O=
這麼強大的google試算表 當然要好好的玩一下^^
以下就記錄安迪兒整個執行的過程
1.先確定或打開google行事曆的簡訊設定
可以參考安迪兒上一篇
怕忘記重要的待辦事項?用免費的google簡訊來通知你...詳
2.至gmail裡面
Gmail - Google
勾一些想要傳簡訊的mail,點[選篩選這類的郵件]
套用標籤那新增一個叫Alert的標籤
(安迪兒的程式預設是Alert,可以自行修改)
3.再來登入google文件
Google Docs - create and edit documents online, for free.
建立一個新的試算表
點選[工具]-[指令碼編輯器]
新增一個google apps script的[網路應用程式]
再來這邊就開始寫想要程式碼
這邊附上安迪兒寫好的alertMail給大家參考
可以直接貼上使用
function onOpen(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var allEntries = [ {name: "Authorize", functionName: "authorize"},
{name: "Stop Alerts", functionName: "stopalert"}
];
sheet.addMenu("All Alerts", allEntries);
}
function authorize(){}
function stopalert(){
var allTriggers = ScriptApp.getScriptTriggers();
for(var i=0; i < allTriggers.length; i++)
ScriptApp.deleteTrigger(allTriggers[i]);
Browser.msgBox("ok", "All messages stop!",Browser.Buttons.OK);
}
function sendalert(){
try {
var alabel = GmailApp.getUserLabelByName('Alert');
var athreads = alabel.getThreads();
var now = new Date().getTime();
var cale=getCalendar();
for(i in athreads){
cale.createEvent(athreads[i].getFirstMessageSubject()+": "+athreads[i].getMessages()[0].getFrom(),new Date(now+60000),new Date(now+60000)).removeAllReminders().addSmsReminder(0);
}
alabel.removeFromThreads(athreads);
}
catch(err){
Logger.log("error :"+ err.toString());
}
}
function getCalendar(){
try{
var cale=CalendarApp.getOwnedCalendarsByName("Alert")[0];
if (!cale){
cale=CalendarApp.createCalendar("Alert");
return cale;
}
else{
return cale;
}
}
catch(e){
Logger.log("error :"+ e.toString());
}
}
寫完程式後存檔,此時要再設定這隻程式那時要執行
-
點選資源-您所有的觸發程序
google會要你認證這隻程式權限,自已寫的不用怕就按下吧
-
設定觸發程序,安迪兒這邊設定2個
第一個是文件打開時的動作
第二個是每5分鐘去檢查mail&寄簡訊一次
完成後就可以存檔關掉這個試算表嘍
再來就是測試了
最快的方式就是直接勾1封mail加上標簽
看5分鐘後會不會收到簡訊
以下是安迪兒手機收到的結果
要玩的話記得一次別設定太多mail
安迪兒一開始設定每分鐘送簡訊,符合規則有3~40多封mail
突然間安迪兒的手機狂叫簡訊一直送
然後...當天google就不再寄簡訊過來了
(應該是同時間寄太多,被google阻擋了)
到了第二天又可以正常收簡訊
以上案例純供大家參考~XD
就這樣嘍,收工了收工了^^