Gmail är i sig självt en mycket kraftfull e-postklient. Med hjälp av filter kan du ställa in automatiseringar för att bättre organisera din inkorg. Men för avancerade användare räcker inte filtreringsfunktionen jämfört med att skriva anpassade skript. Dessa åtta Google-skript kan automatisera din Gmail.

Tips: Testa ett annat enkelt Gmail-tips: Konfigurera automatisk vidarebefordran i Gmail.
1. Radera e-post automatiskt efter X antal dagar
Ofta efter att ha läst ett e-postmeddelande behåller vi det i vår inkorg, oavsett hur användbart det är. Nu när Google har satt en utrymmesgräns kanske du vill rensa din inkorg och bli av med dessa onödiga e-postmeddelanden. Följande skript kan söka efter e-postmeddelanden märkta "... Ta bort mig Och radera det efter ett nummer ”X” Av dagarna.
- Se till att du är inloggad på ditt Google-konto och gå till Google Scripts Skapa ett nytt projekt.
- Klistra in följande skript och spara det. Du kan ändra antalet dagar (variabel fördröjning) som ska gå innan e-postmeddelanden tas bort från din inkorg.
function auto_delete_mails() { var label = GmailApp.getUserLabelByName("Radera mig"); if(label == null) { GmailApp.createLabel('Radera mig'); } else { var delayDays = 2; // Ange antalet dagar innan meddelanden flyttas till papperskorgen 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. Skapa en ny trigger för att köra skriptet enligt ett schema. Öppna "Tidslinjeikon i vänstermenyn -> Utlösare -> Lägg till utlösare."


När du kör det här skriptet skapas en ny kategori, Radera åt mig Markera oönskade e-postmeddelanden med den här etiketten i ditt Gmail-konto, så raderas de efter det antal dagar som anges i ditt skript.
Tips: Om din e-post verkar bli överstyr kan du läsa vår SaneBox-recension och se om den kan hjälpa dig att hantera din e-post.
2. Arkivera alla gamla e-postmeddelanden.
Om du vill ha ett mindre riskabelt alternativ än att radera e-post kan du skapa ett skript för att arkivera alla gamla e-postmeddelanden genom att följa stegen nedan.
- Skapa ett nytt Google-skript med följande kod:
function archiveOldEmails() { // Hämta alla trådar i inkorgen var threads = GmailApp.getInboxThreads(); // Loopa igenom alla trådar for (var i = 0; i < threads.length; i++) { var thread = threads[i]; var messages = thread.getMessages(); // Loopa igenom alla meddelanden i tråden for (var j = 0; j < messages.length; j++) { var message = messages[j]; var age = (new Date() - message.getDate()) / (1000 * 60 * 60 * 24); // Om meddelandet är äldre än 30 dagar, arkivera det if (age > 30) { thread.moveToArchive(); } } } }
2. Skapa en trigger (som visas ovan) för att köra skriptet varje dag.
Vid den tidpunkt du väljer kommer skriptet att köras och flytta e-postmeddelandena från din inkorg till arkivet. Dessa arkiverade e-postmeddelanden kommer att finnas kvar i "all post".
3. Få SMS-aviseringar om viktiga e-postmeddelanden
Det här Google-meddelandet utnyttjar Google Kalenderns SMS-funktion för att skicka ett SMS till dig när du får ett viktigt e-postmeddelande.
- Skapa ett nytt Google-skript med följande kod:
function Gmail_send_sms() { var label = GmailApp.getUserLabelByName("Skicka text"); if(label == null){ GmailApp.createLabel('Skicka text'); } else{ var threads = label.getThreads(); var now = new Date().getTime(); for (var i = 0; i < threads.length; i++) { var message = threads[i].getMessages()[0]; var from = message.getFrom(); var subject = message.getSubject(); CalendarApp.createEvent(subject, new Date(nu+60000), new Date(nu+60000), {location: from}).addSmsReminder(0); } label.removeFromThreads(threads); } }
2. Spara den och skapa en trigger som spelar upp den var femte minut.
3. Skapa ett nytt Gmail-filter som automatiskt lägger till en etikett. Skicka ett sms Till de e-postmeddelanden du valt. I Gmail klickar du på ikonen Sökmöjligheter I den övre sökfältet.


4. Skapa en sammanfattning av dina e-postmeddelanden
Istället för att läsa alla dina e-postmeddelanden individuellt kan du skriva ett skript för att skapa ett enda e-postsammanfattning av dina olästa e-postmeddelanden.
- skapad Google-skript Nytt med följande kod:
function createEmailSummary() { // Sök efter olästa e-postmeddelanden var threads = GmailApp.search("is:unread"); var summary = "Olästa e-postmeddelanden:\n"; for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; summary += message.getFrom() + ": " + message.getSubject() + "\n"; } } // Sök efter e-postmeddelanden med specifika nyckelord i ämnet var threads = GmailApp.search("subject:(viktigt möte)"); summary += "\nE-postmeddelanden med nyckelordet 'viktigt möte' i ämnet:\n"; for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; summary += message.getFrom() + ": " + message.getSubject() + "\n"; } } // Du kan lägga till fler sökkriterier här // ... // Skicka sammanfattningen som ett e-postmeddelande GmailApp.sendEmail("[email protected]", "E-postsammanfattning", summary); }
2. Förändring "din [email protected]" Till din e-post.
3. Skapa en ny trigger för att köra skriptet varje dag.
När du kör skriptet skickar det ett e-postmeddelande med antalet av varje typ av e-postmeddelande du ännu inte har läst. Skriptet ovan är en bra utgångspunkt – det räknar antalet e-postmeddelanden med "viktigt möte" i ämnesraden. Du kan justera skriptet för att beräkna dina önskade sökkriterier.
5. Spara e-postmeddelanden som PDF-filer i Google Drive
Om du har ett e-postmeddelande som du vill arkivera i Google Drive kan du använda ett Google-skript för att spara det som en PDF-fil till ditt Google Drive-konto. Följande skript sparar alla meddelanden i en e-posttråd som en enda PDF-fil i Google Drive. Om e-postmeddelandet innehåller bilagor skapas en mapp och meddelandena och bilagorna lagras i den.
- Skapa ett nytt Google-skript med följande kod:
function save_Gmail_as_PDF() { // Hämta etiketten "Spara som PDF" eller skapa den om den inte finns var label = GmailApp.getUserLabelByName("Spara som PDF"); if(label == null){ label = GmailApp.createLabel('Spara som PDF'); } // Hämta trådarna med etiketten var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); var subject = messages[0].getSubject(); var bodies = []; // Loopa igenom alla meddelanden i tråden for(var j = 0; j < messages.length; j++){ var message = messages[j]; bodies.push({ body: message.getPlainBody(), from: message.getFrom(), }); var attachments = message.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]); } } } // Skapa ett Google Docs-dokument från meddelandets innehåll var bodyDoc = DocumentApp.create(subject); var bodyDocId = bodyDoc.getId(); var bodyDocFile = DriveApp.getFileById(bodyDocId); var bodyDocBody = bodyDoc.getBody(); bodyDocBody.setText(bodys.map(obj => `From: ${obj.from}\n${obj.body}`).join('\n\n')); bodyDoc.saveAndClose(); // Konvertera Google Docs-dokumentet till en PDF var blob = bodyDocFile.getAs('application/pdf'); var pdfFile = DriveApp.createFile(blob); // Om det finns bilagor if(attachments.length > 0){ // Skapa en mapp i Drive med meddelandets ämne var folder = DriveApp.createFolder(subject); for (var j = 0; j < attachments.length; j++) { folder.createFile(attachments[j]); } // Lägg till PDF-filen med meddelandets innehåll i mappen folder.createFile(pdfFile); } // Ta bort Google Docs-dokumentet från Google Drive DriveApp.getFileById(bodyDocId).setTrashed(true); // Ta bort etiketten från trådens etikett.removeFromThread(threads[i]); } }
2. Spara den och ställ in en utlösare för att köra den med jämna mellanrum.

När du vill spara ett e-postmeddelande och dess bilagor till Google Drive markerar du det helt enkelt med en bock. Spara till PDFTexten i varje e-postmeddelande och avsändaren, i varje tråd, visas i ordning, med början från det äldsta.
Det är bra att veta: Hur man tar bort filer från GOOGLE DRIVE på telefon och dator.
6. Skicka automatiskt uppföljningsmejl
Du kanske inte alltid får ett snabbt svar på dina e-postmeddelanden. För att åtgärda problemet kan du skicka ett uppföljningsmeddelande för att påminna e-postmottagarna. Istället för att skriva varje uppföljning manuellt kan du skicka den automatiskt med hjälp av ett skript!
- Skapa Nytt manus Från Google med följande kod:
function sendFollowupEmails() { const startDate = new Date('2023-01-01'); const daysAgo = 3; var dateInPast = new Date(); dateInPast.setDate(dateInPast.getDate() - daysAgo); var threads = GmailApp.search("is:sent before:" + dateInPast.toLocaleDateString() + "after:" + startDate.toLocaleDateString()); for (var i = 0; i < threads.length; i++) { var conversation = threads[i]; var foundResponse = false; // Om en skickad tråd har mer än ett e-postmeddelande behöver vi inte följa upp // eftersom vi antingen redan har följt upp eller så har de svarat. if (conversation.getMessages().length > 1) { foundResponse = true; } if (!foundResponse) { var body = "Hej, jag ville bara följa upp mitt tidigare e-postmeddelande. Om jag inte får något svar antar jag att du inte är intresserad. \n\nMed vänliga hälsningar,\n[Ditt namn]"; conversation.replyAll(body); } } }
2. Anpassa vissa saker i det här skriptet:
- förändra start datum Till en tid närmare nutid för att inte återuppliva särskilt gamla trådar.
- Bytesdagar: Gå vidare och anpassa åldern du vill att e-postmeddelandet ska ha innan du skickar en uppföljning.
- förändra [Ditt namn] Till ditt namn.
3. Spara den och ställ in en utlösare som ska köras var sjunde dag.
Fortsätt skicka e-postmeddelanden som vanligt, så hanterar skriptet automatiskt uppföljningar.
7. Namnge e-postmeddelanden enligt ämnesordet
Om du översvämmas av e-postmeddelanden men inte vill ta bort de flesta av dem kan du använda det här skriptet för att kategorisera och organisera dem baserat på deras innehåll.
- Skapa Nytt manus Från Google med följande kod:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Kampanjer", "offer": "Kampanjer", "discount": "Kampanjer", "newsletter": "Nyhetsbrev", "action": "Att göra", "required": "Att göra", "shipped": "Ordrar", "delivered": "Ordrar", "receipt": "Ordrar", "invoice": "Ordrar" }; 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; för (var nyckelord i nyckelord) { if (subject.indexOf(nyckelord) !== -1) { för (var j = 0; j < labels.length; j++) { if (labels[j].getName() === nyckelord[nyckelord]) { trådar[i].addLabel(labels[j]); foundLabel = true; break; } } if (!foundLabel) { GmailApp.createLabel(nyckelord[nyckelord]); trådar[i].addLabel(GmailApp.getUserLabelByName(nyckelord[nyckelord])); } break; } } } }
2. Du kan anpassa antalet e-postmeddelanden som påverkas av en variabel. mailToGet Eller nyckelord och etiketter med hjälp av variabla nyckelord.
3. Spara Manus och ställ in Operatör Att springa med några minuters eller timmars mellanrum.

8. Omdirigera vissa e-postmeddelanden till flera andra adresser
Även om Gmail har ett inbyggt sätt att vidarebefordra ett e-postmeddelande till en annan e-postadress, kan det inte enkelt vidarebefordra ett e-postmeddelande med vissa kriterier till flera e-postadresser, men det här skriptet kan.
- Skapa Nytt manus Med följande kod:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Kampanjer", "offer": "Kampanjer", "discount": "Kampanjer", "newsletter": "Nyhetsbrev", "action": "Att göra", "required": "Att göra", "shipped": "Ordrar", "delivered": "Ordrar", "receipt": "Ordrar", "invoice": "Ordrar" }; 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; för (var nyckelord i nyckelord) { if (subject.indexOf(nyckelord) !== -1) { för (var j = 0; j < labels.length; j++) { if (labels[j].getName() === nyckelord[nyckelord]) { trådar[i].addLabel(labels[j]); foundLabel = true; break; } } if (!foundLabel) { GmailApp.createLabel(nyckelord[nyckelord]); trådar[i].addLabel(GmailApp.getUserLabelByName(nyckelord[nyckelord])); } break; } } } }
2. Anpassa kriterierna efter behov.
3. Skapa Operatör Den kör skriptet med några minuters eller timmars mellanrum.
Gmail vidarebefordrar automatiskt e-post som matchar dina kriterier till två eller fler e-postadresser.
Vanliga frågor
F1: Är Google Apps Script gratis att använda?
Svar: Ja, Google Apps Script är gratis att använda så länge du har ett Gmail-konto. Det finns dock dussintals av Kvoter och restriktioner Beroende på din användning kan Google ändra dessa funktioner när som helst, men i skrivande stund inkluderar de cirka 40 funktioner, såsom att skapa dokument, läsa/skriva e-post, skapa kalkylblad och total drifttid. Gratiskonton har en mycket låg gräns, medan Google Workspace har en mycket högre gräns.
F2: Kan jag använda Google Apps Script för att komma åt data från andra tjänster?
Svar: Ja, Google Apps Script är inte begränsat till att fungera med Googles tjänster. Du kan komma åt data från tredjepartstjänster som inte tillhör Google på internet (till exempel Pokémon API) med hjälp av inbyggda klasser som UrlFetchApp Till exempel:
var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto");
Logger.log(response.getContentText()); // All details of Ditto would be logged
F3: Vad gör jag om jag stöter på fel i min Google Apps-programmering?
Svar: Du kan felsöka din kod för att identifiera och åtgärda fel. Som tur är har Google Apps Script en inbyggd felsökare som du kan använda för att felsöka och åtgärda buggar i din kod. För att använda den öppnar du bara skriptredigeraren och klickar på Felsök. Därifrån kan du ange brytpunkter, gå igenom din kod stegvis och undersöka variabler för att identifiera eventuella problem.

