O Google Apps Script é uma linguagem de script em nuvem (JavaScript) que oferece maneiras fáceis de automatizar tarefas nos produtos do Google e serviços de terceiros e criar aplicativos da web.
Eu estava revisando meus e-mails antigos e encontrei uma grande quantidade de e-mails com Anexos e gostaria de classificá-los de forma que eu tivesse a possibilidade de visualizar apenas os e-mails que continham anexos.
Depois de algumas pesquisas eu consegui desenvolver o script deste artigo.
Site : www.google.com/script/start
Tenho 10 E-mails de exemplo sendo 05 com anexos e 05 sem anexo e eu quero definir um Marcador Anexos para eles.
Já logado no G-mail acesse : script.google.com, em seguida clique em + Novo script.
Copie o código abaixo, em seguida clique em Save (Salvar).
function anexos() { var emails; var nomeMarcador = "Anexos"; var marcador = GmailApp.getUserLabelByName(nomeMarcador); if ( !marcador ) { marcador = GmailApp.createLabel(nomeMarcador); } emails = GmailApp.search("has:attachment"); for (var e = 0; e < emails.length; e++ ) { var assunto = emails[e]; marcador.addToThread(emails[e]); Logger.log(assunto.getFirstMessageSubject()) } }
Defina um nome para o projeto, no exemplo: Anexos em seguida clique em OK.
Clique em Run (Executar).
Por se tratar de um App é necessário autorizar a execução do Script, basta seguir os passos de liberação solicitados pelo Google.
Ao executar o script não se esqueça de atualizar a página (F5) e como pode verificar todos os e-mails que possuem anexo estão com o marcador Anexos.
Para visualizar quais os e-mails que foram afetados pelo script basta clicar em View > Logs.
Foram afetados exatamente os 05 e-mails que contêm anexos.
Através do marcador Anexos você pode filtrar os e-mails.
Outra possibilidade é mover para a Lixeira todos os e-mails com o marcador Anexos.
Mais detalhes você consegue no link: developers.google.com/apps-script/reference.
Comente a linha Logger.log(assunto.getFirstMessageSubject()) e insira a linha abaixo :
function anexos() { var emails; var nomeMarcador = "Anexos"; var marcador = GmailApp.getUserLabelByName(nomeMarcador); if ( !marcador ) { marcador = GmailApp.createLabel(nomeMarcador); } emails = GmailApp.search("has:attachment"); for (var e = 0; e < emails.length; e++ ) { var assunto = emails[e]; marcador.addToThread(emails[e]); //Logger.log(assunto.getFirstMessageSubject()) GmailApp.moveThreadToTrash(assunto); } }
Esta linha tem como objetivo em mover para a Lixeira todos os e-mails com o marcador Anexos.
Resultado