Skip to content

Instantly share code, notes, and snippets.

@takyam-git
Created December 13, 2012 07:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takyam-git/4274780 to your computer and use it in GitHub Desktop.
Save takyam-git/4274780 to your computer and use it in GitHub Desktop.
Google Apps Script で、 受信箱(Inbox)の X-ML-NAME をキーに ラベルをつけてアーカイブするサンプル。
function processInbox() {
var match_x_ml_name = function(message, name){
var raw = message.getRawContent();
var reg = new RegExp('X-ML-Name:(\\s+)?' + name, 'g');
return raw.match(reg) != null;
}
var filters = [
['x-ml-name_value', 'parent_label/child_label']
];
// get all threads in inbox
var threads = GmailApp.getInboxThreads();
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
// get all messages in a given thread
var messages = thread.getMessages();
// iterate over each message
for(var j = 0; j < messages.length; j++){
var message = messages[j];
var matched = false;
for(var n = 0; n < filters.length; n++){
var filter = filters[n];
if(match_x_ml_name(message, n[0])){
var label = GmailApp.getUserLabelByName(n[1]);
thread.addLabel(label);
thread.moveToArchive();
break;
}
}
if(matched){
break;
}
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment