Gmail selbst ist bereits ein sehr leistungsfähiger E-Mail-Client. Mithilfe von Filtern können Sie eine Automatisierung einrichten, um Ihren Posteingang besser zu organisieren. Für Power-User ist die Filterfunktion jedoch im Vergleich zum Schreiben benutzerdefinierter Skripte nicht ausreichend. Diese acht Google-Skripte können Ihr Google Mail weiter automatisieren.
Spitze: Probieren Sie einen anderen einfachen Gmail-Tipp aus: Richten Sie die automatische Weiterleitung in Gmail ein.
1. E-Mail nach X Tagen automatisch löschen
Sehr oft behalten wir E-Mails nach dem Lesen einfach in unserem Posteingang, egal wie nützlich sie sind. Jetzt, da Google den Speicherplatz begrenzt hat, möchten Sie vielleicht Ihren Posteingang aufräumen und diese nutzlosen E-Mails loswerden. Das folgende Skript kann nach E-Mails mit dem Label „Delete Me“ suchen und diese nach „X“ Tagen löschen.
- Stellen Sie sicher, dass Sie bei Ihrem Google-Konto angemeldet sind, gehen Sie zu Google-Skripte und erstellen Sie ein neues Projekt.
- Fügen Sie das folgende Skript ein und speichern Sie es. Sie können die Anzahl der Tage ändern (die variable
delayDays), die passieren, bevor die E-Mail-Nachrichten aus Ihrem Posteingang gelöscht werden.
function auto_delete_mails() { var label = GmailApp.getUserLabelByName("Delete Me"); if(label == null) { GmailApp.createLabel('Delete Me'); } else { var delayDays = 2; // Enter # of days before messages are moved to trash 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()<maxdate) { threads[i].movetotrash(); } } } }
- Erstellen Sie einen neuen Auslöser, um Ihr Skript nach einem Zeitplan auszuführen. Öffnen Sie „das Zeitplansymbol im Menü auf der linken Seite -> Auslöser -> Auslöser hinzufügen“.

- Passen Sie die Einstellungen Ihres Triggers an, um das Skript jede Stunde (oder wie oft Sie möchten) auszuführen, scrollen Sie dann nach unten und klicken Sie auf „Speichern“.

Sobald dieses Skript ausgeführt wird, erstellt es ein neues Label „Delete Me“ in Ihrem Google Mail-Konto. Markieren Sie Ihre unerwünschten E-Mails mit diesem Label und sie werden nach der in Ihrem Skript angegebenen Anzahl von Tagen gelöscht.
Spitze: Wenn Ihre E-Mail-Adresse außer Kontrolle zu geraten scheint, lesen Sie unsere Bewertung von SaneBox und sehen Sie, ob sie Ihnen helfen kann, Ihre E-Mails in den Griff zu bekommen.
2. Archivieren Sie alle alten E-Mails
Wenn Sie eine weniger gefährliche Option als das Löschen von E-Mails wünschen, können Sie ein Skript erstellen, um alle Ihre alten E-Mails zu archivieren, indem Sie die folgenden Schritte ausführen.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function archiveOldEmails() { // Get all the threads in the inbox var threads = GmailApp.getInboxThreads(); // Loop through all the threads for (var i = 0; i < threads.length; i++) { var thread = threads[i]; var messages = thread.getMessages(); // Loop through all the messages in the thread for (var j = 0; j < messages.length; j++) { var message = messages[j]; var age = (new Date() - message.getDate()) / (1000 * 60 * 60 * 24); // If the message is older than 30 days, archive it if (age > 30) { thread.moveToArchive(); } } } }
- Erstellen Sie einen Trigger (wie oben gezeigt), um das Skript jeden Tag auszuführen.
Zu dem von Ihnen gewählten Zeitpunkt wird das Skript ausgeführt und die E-Mails aus Ihrem Posteingang in das Archiv verschoben. Diese archivierten E-Mails sind weiterhin im Abschnitt „Alle E-Mails“ verfügbar.
Gut zu wissen: Wenn Ihnen die E-Mails in Ihrem Posteingang egal sind und Sie nur schnell alles aufräumen möchten, zeigt Ihnen diese Anleitung, wie Sie alle Ihre ungelesenen E-Mails als gelesen markieren und löschen können.
3. Erhalten Sie SMS-Benachrichtigungen für wichtige E-Mails
Dieses Google-Skript verwendet die SMS-Funktion von Google Kalender, um Ihnen eine SMS zu senden, wenn Sie eine wichtige E-Mail erhalten.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function Gmail_send_sms(){ var label = GmailApp.getUserLabelByName("Send Text"); if(label == null){ GmailApp.createLabel('Send 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(now+60000), new Date(now+60000), {location: from}).addSmsReminder(0); } label.removeFromThreads(threads); } }
- Speichern Sie es und erstellen Sie einen Trigger, damit es alle fünf Minuten ausgeführt wird.
- Erstellen Sie einen neuen Google Mail-Filter, der Ihren ausgewählten eingehenden E-Mails automatisch das Label „Text senden“ hinzufügt. Klicken Sie in Google Mail in der oberen Suchleiste auf das Symbol Suchoptionen.

- Passen Sie die Kriterien für die SMS-Benachrichtigungen an, die Sie über wichtige E-Mails in Ihrem Posteingang informieren, und klicken Sie dann auf „Filter erstellen“.

- Aktivieren Sie „Label anwenden“, wählen Sie „Text senden“ und klicken Sie auf „Filter erstellen“.

Das Skript scannt Ihren Posteingang alle fünf Minuten. Wenn es eine E-Mail mit dem Label „Send Text“ erkennt, erstellt es sofort ein Ereignis in Google Kalender, das die SMS auslöst
Spitze: Sie können auch SMS-Textnachrichten von Ihrem PC aus senden.
4. Erstellen Sie eine Zusammenfassung Ihrer E-Mails
Anstatt alle Ihre E-Mails einzeln zu lesen, können Sie ein Skript schreiben, um eine einzelne E-Mail-Zusammenfassung Ihrer ungelesenen E-Mails zu erstellen.
- Erstellen Sie ein neues Google Script mit folgendem Code:
function createEmailSummary() { // Search for unread emails var threads = GmailApp.search("is:unread"); var summary = "Unread Emails:\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"; } } // Search for emails with specific keywords in the subject var threads = GmailApp.search("subject:(important meeting)"); summary += "\nEmails with keyword 'important meeting' in the subject:\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"; } } // You can add more search criteria here // ... // Send the summary as an email GmailApp.sendEmail("[email protected]", "Email Summary", summary); }
- Ändern Sie „[email protected]“ in Ihre E-Mail-Adresse.
- Erstellen Sie einen neuen Trigger, um das Skript jeden Tag auszuführen.

Wenn das Skript ausgeführt wird, sendet es Ihnen eine E-Mail, die angibt, wie viele von jedem E-Mail-Typ Sie noch nicht gelesen haben. Das obige Skript ist ein guter Ausgangspunkt – es zählt die Anzahl der E-Mails mit „wichtiges Meeting“ im Betreff. Sie können das Skript anpassen, um Ihre gewünschten Suchkriterien zu zählen.
5. Speichern Sie E-Mails als PDFs in Google Drive
Wenn Sie eine E-Mail haben, die Sie in Google Drive archivieren möchten, können Sie sie mit einem Google-Skript als PDF in Ihrem Google Drive-Konto speichern. Das folgende Skript speichert alle Nachrichten in einem E-Mail-Thread als eine PDF-Datei in Ihrem Google Drive. Wenn die E-Mail Anhänge enthält, wird ein Ordner erstellt und die Nachrichten und Anhänge darin gespeichert.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function save_Gmail_as_PDF() { // Get the label "Save As PDF" or create it if it doesn't exist var label = GmailApp.getUserLabelByName("Save As PDF"); if(label == null){ label = GmailApp.createLabel('Save As PDF'); } // Get the threads with the label var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); var subject = messages[0].getSubject(); var bodys = []; // Loop through all messages in thread for(var j = 0; j < messages.length; j++){ var message = messages[j]; bodys.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]); } } } // Create a Google Docs document from the message body 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(); // Convert the Google Docs document to a PDF var blob = bodyDocFile.getAs('application/pdf'); var pdfFile = DriveApp.createFile(blob); // If there are attachments if(attachments.length > 0){ // Create a folder in Drive with the message subject var folder = DriveApp.createFolder(subject); for (var j = 0; j < attachments.length; j++) { folder.createFile(attachments[j]); } // Add the PDF file of the message body to the folder folder.createFile(pdfFile); } // Remove the Google Docs document from Google Drive DriveApp.getFileById(bodyDocId).setTrashed(true); // Remove the label from the thread label.removeFromThread(threads[i]); } }
- Speichern Sie es und legen Sie einen Trigger fest, damit es in regelmäßigen Abständen ausgeführt wird.

Wenn Sie eine E-Mail und ihre Anhänge in Google Drive speichern möchten, markieren Sie sie einfach mit dem Label „Als PDF speichern“. Der Text jeder E-Mail und der Absender in jedem Thread werden der Reihe nach angezeigt, beginnend mit der ältesten.
Gut zu wissen: Sie sind sich nicht sicher, wie viele Dateien Sie in Ihrem Google Drive-Ordner haben? Dieser Ratgeber zeigt Ihnen, wie Sie das herausfinden.
6. Followup-E-Mails automatisch versenden
Möglicherweise erhalten Sie nicht immer eine schnelle Antwort auf Ihre E-Mails. Um dieses Problem anzugehen, können Sie eine Folge-E-Mail senden, um die E-Mail-Empfänger daran zu erinnern. Anstatt jedes Follow-up manuell zu schreiben, können Sie es automatisch mit einem Skript versenden!
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
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; // If a sent thread has more than 1 email, we don’t need to followup // because we either followed up already or they responded. if (conversation.getMessages().length > 1) { foundResponse = true; } if (!foundResponse) { var body = "Hi, I just wanted to follow up on my previous email. If I get no reply I will assume you are not interested. \n\nBest regards,\n[Your Name]"; conversation.replyAll(body); } } }
- Passen Sie einige Dinge in diesem Skript an:
- Ändern
startDatein eine Zeit, die näher am heutigen Tag liegt, um nicht sehr alte Threads wiederzubeleben. - Ändern
daysAgoum anzupassen, wie alt eine E-Mail sein soll, bevor Sie eine Folgenachricht senden. - Ändern
[Your Name]zu deinem Namen.
- Speichern Sie es und legen Sie einen Trigger fest, der alle sieben Tage ausgeführt wird.
Versenden Sie weiterhin normal E-Mails, und das Skript kümmert sich automatisch um Follow-ups.
7. Beschriften Sie E-Mails nach Betreff-Schlüsselwort
Wenn Sie mit E-Mails überschwemmt werden, die meisten davon aber nicht löschen möchten, können Sie sie mit diesem Skript basierend auf ihrem Inhalt kennzeichnen und organisieren.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo", "shipped": "Orders", "delivered": "Orders", "receipt": "Orders", "invoice": "Orders" }; 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 keyword in keywords) { if (subject.indexOf(keyword) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j].getName() === keywords[keyword]) { threads[i].addLabel(labels[j]); foundLabel = true; break; } } if (!foundLabel) { GmailApp.createLabel(keywords[keyword]); threads[i].addLabel(GmailApp.getUserLabelByName(keywords[keyword])); } break; } } } }
- Sie können die Anzahl der betroffenen E-Mails mit der Variable anpassen
emailsToGetoder Keywords und Labels mit der Variablekeywords. - Speichern Sie das Skript und legen Sie einen Trigger fest, der alle paar Minuten oder Stunden ausgeführt wird.

Auf diese Weise behalten Sie den Überblick, indem Sie nur E-Mails mit einem bestimmten Label anzeigen. Dieses Skript funktioniert gut mit den meisten Ihrer E-Mails und erspart Ihnen das einfache Löschen.
8. Bestimmte E-Mails an mehrere andere Adressen weiterleiten
Während Google Mail eine integrierte Möglichkeit zum Weiterleiten von E-Mails an eine andere E-Mail-Adresse hat, kann es E-Mails mit bestimmten Kriterien nicht einfach an mehrere E-Mail-Adressen weiterleiten, aber dieses Skript kann es.
- Erstellen Sie ein neues Skript mit dem folgenden Code:
function emailForwarding() { const emailsToGet = 50; var criteria = [ { sender: "[email protected]", subjectContains: "invoice", forwardTo: ["[email protected]", "[email protected]"] }, { sender: "[email protected]", subjectContains: "urgent", forwardTo: ["[email protected]", "[email protected]"] } ]; var label = GmailApp.getUserLabelByName("Forwarded"); if (!label) { label = GmailApp.createLabel("Forwarded"); } var threads = GmailApp.search("is:inbox", 0, emailsToGet); for (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); console.log('thread id:', threads[i].getId()); for (var j = 0; j < messages.length; j++) { var message = messages[j]; var sender = message.getFrom(); var subject = message.getSubject().toLowerCase(); console.log('sender', sender, 'subject', subject); for (var k = 0; k < criteria.length; k++) { var rule = criteria[k]; if (sender.indexOf(rule.sender) != -1 && subject.indexOf(rule.subjectContains) != -1) { var recipient = rule.forwardTo.join(","); GmailApp.sendEmail(recipient, subject, message.getPlainBody(), {cc: sender}); threads[i].addLabel(label); } } } } }
- Passen Sie die Kriterien nach Bedarf an.
- Erstellen Sie einen Trigger, der das Skript alle paar Minuten oder Stunden ausführt.
Ihr Gmail leitet E-Mails, die Ihren Kriterien entsprechen, automatisch an zwei oder mehr E-Mail-Adressen weiter.
Gut zu wissen: Google Mail verfügt über eine integrierte Methode zur automatischen Beantwortung von E-Mails, wenn Sie im Urlaub oder nicht im Büro sind.
Häufig gestellte Fragen
Kann Google Apps Script kostenlos verwendet werden?
Ja, Google Apps Script kann kostenlos verwendet werden, solange Sie ein Gmail-Konto haben. Allerdings gibt es Dutzende davon Kontingente und Beschränkungen auf Ihre Nutzung. Google kann diese jederzeit ändern, aber zum Zeitpunkt des Schreibens umfassen sie fast 40 Funktionen, wie z. B. das Erstellen von Dokumenten, das Lesen/Schreiben von E-Mails, das Erstellen von Tabellenkalkulationen und die Gesamtlaufzeit von Triggern. Kostenlose Konten haben ein sehr niedriges Limit, während Google Workspace ein viel höheres Limit hat.
Kann ich Google Apps Script verwenden, um auf Daten von anderen Diensten zuzugreifen?
Ja, Google Apps Script ist nicht auf die Arbeit mit Google-Diensten beschränkt. Sie greifen auf Daten von externen Nicht-Google-Diensten im Internet zu (z Pokémon-API) mit integrierten Klassen wie z URLFetchApp so:
var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto");
Logger.log(response.getContentText()); // All details of Ditto would be logged
Was mache ich, wenn ich Fehler in meinem Google Apps-Skript erhalte?
Sie können Ihren Code debuggen, um den Fehler zu identifizieren und zu beheben. Glücklicherweise verfügt Google Apps Script über einen integrierten Debugger, mit dem Sie Fehler in Ihrem Code beheben können. Um es zu verwenden, öffnen Sie einfach den Skripteditor und klicken Sie auf Debuggen. Von dort aus können Sie Haltepunkte setzen, Ihren Code schrittweise durchlaufen und Variablen untersuchen, um Probleme zu identifizieren.
Unterstützen Sie unsere Arbeit ❤️
Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.

























