//程式碼開始 var Line_Notify_Token = "y9m61pJjHAki8yNi9jfn8BOmuFOYUPjtLfQ5sXbRa4U"; //Line Notify 的權杖 var rootFolderID = "1o_vJz2qn0NApFbce5PnsGGsKrBZxmw4Y"; //存放信件附件的資料夾 var labelNames = ["CCTV"]; //inbox 就是收件夾,但這樣會搜尋所有信件,降低程式持行效率,建議還是自行新增標籤及建立篩選器來提升效率 var everyMailinLabel = 1; //設為 0:只傳送標籤內每個會話群組內第一封未讀取的郵件; 設為 1:傳送標籤內每個會話群組每一封未讀取的郵件。 function getGmailMessage() { var labels = ""; var endNum = 1; for (var i = 0; i < labelNames.length; i++) { labels += "label:" + labelNames[i] + " "; } if (everyMailinLabel === 1) {var Emails = GmailApp.search(labels);} else {var Emails = GmailApp.search(labels + "label:unread");} for (var i = Emails.length - 1; i >= 0 ; i--){ var messageData = Emails[i].getMessages(); if (everyMailinLabel == 1) {endNum = messageData.length;} for (var j = 0; j < endNum; j++) { if (messageData[j].isUnread()) { var messageSubject = messageData[j].getSubject(); var messageFrom = removeHtmlTag(messageData[j].getFrom()); var messageBody = removeHtmlTag(messageData[j].getBody()); var lineContent = "\n\n來自:" + messageFrom + "\n\n"; lineContent += "主旨:" + messageSubject + "\n\n"; lineContent += "內容:\n" + messageBody; var messageAttachments = messageData[j].getAttachments(); if (messageAttachments.length > 0) { var rootFolder = DriveApp.getFolderById(rootFolderID); try { var destinationFolder = rootFolder.getFoldersByName(messageData[j].getId()).next(); } catch(err) { var destinationFolder = rootFolder.createFolder(messageData[j].getId()); } var fileLocation = "https://drive.google.com/open?id=" + destinationFolder.getId(); for (var k = 0; k < messageAttachments.length; k++) { var files = destinationFolder.createFile(messageAttachments[k].copyBlob()); files.setName(messageAttachments[k].getName()); } lineContent += "\n\n附件:請參閱 " + fileLocation; } sendLineNotify(lineContent, Line_Notify_Token); messageData[j].markRead(); } } } } //傳送 Line Notify 訊息 function sendLineNotify(message, Line_Notify_Token){ var url = "https://notify-api.line.me/api/notify"; var options = { "method" : "post", "payload" : {"message" : message}, "headers" : {"Authorization" : "Bearer " + Line_Notify_Token} }; return UrlFetchApp.fetch(url, options); } //清除 html 標籤 function removeHtmlTag(stringContent) { stringContent = stringContent.replace(//g, "\n"); var reTag = /<(?:.|\s)*?>/g; stringContent = stringContent.replace(reTag, ""); stringContent = stringContent.replace(/</g, "<"); return stringContent.replace(/>/g, ">"); } //程式碼結束