O Gmail, por si só, já é um cliente de e-mail muito poderoso. Com a ajuda de filtros, você pode configurar a automação para organizar melhor sua caixa de entrada. No entanto, para usuários avançados, a filtragem não é suficiente em comparação com a criação de scripts personalizados. Esses XNUMX scripts do Google podem automatizar seu Gmail.
Dica: tente outra dica fácil do Gmail: Configure o encaminhamento automático no Gmail.
1. Excluir automaticamente o e-mail após X dias
Muitas vezes, depois de ler um e-mail, nós os mantemos em nossa caixa de entrada, por mais úteis que sejam. Agora que o Google colocou um limite de espaço, você pode querer limpar sua caixa de entrada e se livrar desses e-mails inúteis. O script a seguir pode verificar o e-mail com o rótulo “Apague-me” e excluí-lo após um número "X" dos dias.
- Verifique se você está conectado à sua conta do Google e vá para GoogleScripts E crie um novo projeto.
- Cole o seguinte script e salve-o. Você pode alterar o número de dias (atraso variável) que passam antes que os e-mails sejam excluídos de sua caixa de entrada.
function auto_delete_mails() { var label = GmailApp.getUserLabelByName("Excluir-me"); if(label == null) { GmailApp.createLabel('Excluir-me'); } else { var delayDays = 2; // Insira o número de dias antes que as mensagens sejam movidas para a lixeira var maxDate = new Date(); maxDate. setDate(maxDate. getDate()-delayDays); var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { if (threads[i]. getLastMessageDate()
3. Crie um novo acionador para executar o script em um agendamento. Abrir "Ícone Agendar no menu à esquerda -> Gatilhos -> Adicionar Gatilho".
Depois que esse script for executado, uma nova taxonomia será criada, "exclua-me" , na sua conta do Gmail. Marque e-mails de spam com este rótulo e eles serão excluídos após o número de dias especificado em seu script.
Dica: Se seu e-mail parece estar fora de controle, leia nossa análise do SaneBox e veja se ele pode ajudá-lo a lidar com seu e-mail.
2. Arquive todos os seus e-mails antigos
Se você deseja uma opção menos arriscada do que a exclusão de e-mail, pode criar um script para arquivar todos os seus e-mails antigos seguindo as etapas abaixo.
- Crie um novo script do Google com o seguinte código:
function archiveOldEmails() { // Obtenha todos os tópicos na caixa de entrada var threads = GmailApp.getInboxThreads(); // Percorre todos os threads for (var i = 0; i < threads. length; i++) { var thread = threads[i]; var mensagens = thread.getMessages(); // Percorre todas as mensagens no encadeamento for (var j = 0; j < messages. length; j++) { var message = messages[j]; var age = (new Date() - message. getDate()) / (1000 * 60 * 60 * 24); // Se a mensagem tiver mais de 30 dias, arquive-a if (age > 30) { thread.moveToArchive(); } } }
2. Crie um gatilho (conforme mostrado acima) para executar o script todos os dias.
No momento que você escolher, o script será executado e moverá os e-mails de sua caixa de entrada para o arquivo. Esses e-mails arquivados ainda estarão disponíveis em uma seção "Todo o correio".
3. Receba notificações por SMS para e-mails importantes
Este script de texto do Google aproveita o recurso SMS do Google Agenda para enviar um SMS quando você recebe um e-mail importante.
- Crie um novo script do Google com o seguinte código:
function Gmail_send_sms(){ var label = GmailApp.getUserLabelByName("Enviar texto"); if(label == null){ GmailApp.createLabel('Enviar texto'); } else{ var threads = label.getThreads(); var agora = new Date().getTime(); for (var i = 0; i < threads. length; i++) { var message = threads[i]. getMessages()[0]; var de = mensagem.getFrom(); var assunto = mensagem.getSubject(); CalendarApp.createEvent(assunto, nova data(agora+60000), nova data(agora+60000), {localização: de}).addSmsReminder(0); } label.removeFromThreads(threads); } }
2. Salve-o e crie um gatilho para jogar a cada cinco minutos.
3. Crie um novo filtro do Gmail que adicione um marcador automaticamente "enviar um texto" aos e-mails recebidos selecionados. No Gmail, clique no ícone Opções de pesquisa na barra de pesquisa superior.
4. Crie um resumo de seus e-mails
Em vez de ler todos os seus e-mails individualmente, você pode escrever um script para gerar um único resumo de e-mail para seus e-mails não lidos.
- criada Script do Google novo com o seguinte código:
function createEmailSummary() { // Pesquisa de e-mails não lidos var threads = GmailApp.search("is:unread"); var resumo = "E-mails não lidos:\n"; for (var i = 0; i < threads. length; i++) { var messages = threads[i]. getMessages(); for (var j = 0; j < mensagens. comprimento; j++) { var mensagem = mensagens[j]; resumo += message.getFrom() + ": " + message.getSubject() + "\n"; } } // Pesquise e-mails com palavras-chave específicas no assunto var threads = GmailApp.search("assunto:(reunião importante)"); resumo += "\nE-mails com a palavra-chave 'reunião importante' no assunto:\n"; for (var i = 0; i < threads. length; i++) { var messages = threads[i]. getMessages(); for (var j = 0; j < mensagens. comprimento; j++) { var mensagem = mensagens[j]; resumo += message.getFrom() + ": " + message.getSubject() + "\n"; } } // Você pode adicionar mais critérios de pesquisa aqui // ... // Envie o resumo como um e-mail GmailApp.sendEmail("[email protegido]"," Resumo do e-mail", resumo); }
2. Alterar "[email protegido]" para o seu e-mail.
3. Crie um novo gatilho para executar o script todos os dias.
Quando você executar o script, ele enviará um e-mail com a contagem de cada tipo de e-mail que você ainda não leu. O texto acima é um bom ponto de partida - ele contabiliza o número de e-mails com "reunião importante" no assunto. Você pode definir o script para calcular os critérios de pesquisa necessários.
5. Salve o e-mail como arquivos PDF no Google Drive
Se você tiver um e-mail que deseja arquivar no Google Drive, poderá usar um script do Google para salvá-lo como PDF em sua conta do Google Drive. O script a seguir salvará todas as mensagens em um segmento de e-mail como um único arquivo PDF no Google Drive. Se o e-mail contiver anexos, uma pasta será criada e as mensagens e os anexos serão armazenados nela.
- Crie um novo script do Google com o seguinte código:
function save_Gmail_as_PDF() { // Obtenha o rótulo "Salvar como PDF" ou crie-o se não existir var label = GmailApp.getUserLabelByName("Salvar como PDF"); if(label == null){ label = GmailApp.createLabel('Salvar como PDF'); } // Obtém as threads com o rótulo var threads = label.getThreads(); for (var i = 0; i < threads. length; i++) { var messages = threads[i]. getMessages(); var assunto = mensagens[0].getSubject(); var corpos = []; // Percorre todas as mensagens no encadeamento for(var j = 0; j < messages. length; j++){ var message = messages[j]; bodys.push({ body: message. getPlainBody(), from: message. getFrom(), }); var anexos = mensagem.getAttachments(); var temp_attach = message.getAttachments(); if(temp_attach.length > 0){ for(var k =0; k < temp_attach.length; k++){ attachments.push(temp_attach[k]); } } } // Cria um documento do Google Docs a partir do corpo da mensagem var bodyDoc = DocumentApp.create(subject); var bodyDocId = bodyDoc. getId(); var bodyDocFile = DriveApp.getFileById(bodyDocId); var bodyDocBody = bodyDoc.getBody(); bodyDocBody.setText(bodys.map(obj => `De: ${obj.from}\n${obj.body}`).join('\n\n')); bodyDoc. saveAndClose(); // Converte o documento do Google Docs em um PDF var blob = bodyDocFile.getAs('application/pdf'); var pdfFile = DriveApp.createFile(blob); // Se houver anexos if(attachments.length > 0){ // Crie uma pasta no Drive com o assunto da mensagem var folder = DriveApp.createFolder(subject); for (var j = 0; j < attachments. length; j++) { pasta. createFile(attachments[j]); } // Adiciona o arquivo PDF do corpo da mensagem à pasta folder createFile(pdfFile); } // Remova o documento Google Docs do Google Drive DriveApp.getFileById(bodyDocId).setTrashed(true); // Remove o rótulo do rótulo do encadeamento removeFromThread(threads[i]); } }
2. Salve-o e defina um gatilho para reproduzi-lo em intervalos regulares.
Quando você quiser salvar um e-mail e seus anexos no Google Drive, basta marcá-lo com uma marca de seleção "Salvar em PDF". O texto de cada email e o remetente, em cada thread, serão mostrados em ordem, começando pelo mais antigo.
Bom saber: COMO EXCLUIR ARQUIVOS DO GOOGLE DRIVE DO CELULAR E DO COMPUTADOR.
6. Envie e-mails de acompanhamento automaticamente
Você pode nem sempre obter uma resposta imediata aos seus e-mails. Para resolver esse problema, você pode enviar um e-mail de acompanhamento para lembrar os destinatários do e-mail. Em vez de digitar manualmente cada acompanhamento, você pode enviá-lo automaticamente com um script!
- Crio Novo roteiro do Google com o seguinte código:
function sendFollowupEmails() { const startDate = new Date('2023-01-01'); dias constAgo = 3; var dateInPast = new Date(); dateInPast. setDate(dateInPast. getDate() - diasAgo); var threads = GmailApp.search("é:enviado antes:" + dateInPast.toLocaleDateString() + " depois:" + startDate.toLocaleDateString()); for (var i = 0; i < threads. length; i++) { var conversa = threads[i]; var resposta encontrada = false; // Se um tópico enviado tiver mais de 1 e-mail, não precisamos dar seguimento // porque já acompanhamos ou eles responderam. if (conversation. getMessages(). length > 1) { foundResponse = true; } if (!foundResponse) { var body = "Oi, eu só queria dar continuidade ao meu e-mail anterior. Se não receber resposta, presumirei que você não está interessado. \n\nAtenciosamente,\n[Seu nome]" ; conversa. repeatAll(corpo); } } }
2. Personalize algumas coisas neste script:
- mudança data de início Para antes dos dias atuais não reviver tópicos muito antigos.
- Mudança de dias: Vá para personalizar quantos anos você deseja que o e-mail tenha antes de enviar um acompanhamento.
- mudança [Your Name] ao seu nome.
3. Salve-o e defina um gatilho para ser executado a cada sete dias.
Continue enviando e-mail normalmente e o script tratará automaticamente dos acompanhamentos.
7. Rotule e-mails de acordo com a palavra-chave do assunto
Se você está inundado de e-mails, mas não deseja excluir a maioria deles, pode usar este script para categorizá-los e organizá-los com base em seu conteúdo.
- Crio Novo roteiro do Google com o seguinte código:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo "," enviado": "Pedidos", "entregue": "Pedidos", "recibo": "Pedidos", "fatura": "Pedidos" }; var threads = GmailApp.getInboxThreads(0, emailsToGet); for (var i = 0; i < threads.length; i++) { var subject = threads[i].getFirstMessageSubject().toLowerCase(); var labels = GmailApp.getUserLabels(); var foundLabel = false; for (var palavra-chave em palavras-chave) { if (subject.indexOf(palavra-chave) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j]. getName() = == palavras-chave[palavra-chave]) { threads[i]. addLabel(rótulos[j]); encontradoLabel = verdadeiro; quebrar; } } if (!foundLabel) { GmailApp. createLabel(keywords[keyword]); threads[i]. addLabel(GmailApp. getUserLabelByName(keywords[keyword])); } quebrar; } } }
2. Você pode personalizar o número de e-mails afetados por uma variável mailToGet Ou palavras-chave e rótulos usando palavras-chave variáveis.
3. Salve roteiro E definir Operador para executar a cada poucos minutos ou horas.
8. Encaminhe alguns e-mails para vários outros endereços
Embora o Gmail tenha uma maneira integrada de encaminhar e-mails para outro endereço de e-mail, ele não pode encaminhar facilmente e-mails com determinados critérios para vários endereços de e-mail, mas esse script pode.
- Crio Novo roteiro Com o seguinte código:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo "," enviado": "Pedidos", "entregue": "Pedidos", "recibo": "Pedidos", "fatura": "Pedidos" }; var threads = GmailApp.getInboxThreads(0, emailsToGet); for (var i = 0; i < threads.length; i++) { var subject = threads[i].getFirstMessageSubject().toLowerCase(); var labels = GmailApp.getUserLabels(); var foundLabel = false; for (var palavra-chave em palavras-chave) { if (subject.indexOf(palavra-chave) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j]. getName() = == palavras-chave[palavra-chave]) { threads[i]. addLabel(rótulos[j]); encontradoLabel = verdadeiro; quebrar; } } if (!foundLabel) { GmailApp. createLabel(keywords[keyword]); threads[i]. addLabel(GmailApp. getUserLabelByName(keywords[keyword])); } quebrar; } } }
2. Personalize os padrões conforme necessário.
3. Criar Operador Ele executa o script a cada poucos minutos ou horas.
O Gmail encaminhará automaticamente os e-mails que correspondam aos seus critérios para dois ou mais endereços de e-mail.
Perguntas comuns
P1: O uso do Google Apps Script é gratuito?
A resposta: Sim, o uso do Google Apps Script é gratuito, desde que você tenha uma conta do Gmail. No entanto, existem dezenas de Cotas e restrições em seu uso. O Google pode alterar esses recursos a qualquer momento, mas no momento da redação, eles incluem aproximadamente 40 recursos, como documentos criados, leitura/gravação de e-mail, planilhas criadas e execução total do tempo de execução. As contas gratuitas têm um limite muito baixo, enquanto o Google Workspace tem um limite muito maior.
P2: Posso usar o Google Apps Script para acessar dados de outros serviços?
A resposta: Sim, o Google Apps Script não se limita a trabalhar com os serviços do Google. Você pode acessar dados de serviços de terceiros que não são do Google na Internet (por exemplo, API Pokémon) usando classes integradas como UrlFetchApp Tal como:
var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto");
Logger.log(response.getContentText()); // All details of Ditto would be logged
P3: O que devo fazer se encontrar erros em meu Google Apps?
A resposta: Você pode depurar seu código para identificar e corrigir o erro. Felizmente, o Google Apps Script tem um depurador integrado que você pode usar para solucionar problemas do seu código. Para utilizá-lo, basta abrir o editor de scripts e clicar em debug. A partir daí, você pode definir pontos de interrupção, percorrer seu código e examinar variáveis para ajudar a identificar quaisquer problemas.