Gmail-Automatisierung: 8 Nützliche Google-Skripte zur Automatisierung Ihres Gmail

Gmail ist bereits ein sehr leistungsfähiger E-Mail-Client. Mit Hilfe von Filtern können Sie Automatisierungen einrichten, um Ihr Postfach besser zu organisieren. Für Power-User ist die Filterfunktion jedoch nicht ausreichend im Vergleich zur Erstellung benutzerdefinierter Skripte. Diese acht Google-Skripte können Ihr Gmail weiter automatisieren.
Tipp: Versuchen Sie einen weiteren einfachen Gmail-Tipp: Richten Sie eine automatische Weiterleitung in Gmail ein.
Inhaltsverzeichnis
- Automatische E-Mail-Löschung nach X Tagen
- Alle alten E-Mails archivieren
- SMS-Benachrichtigungen für wichtige E-Mails erhalten
- Erstellen Sie eine Zusammenfassung Ihrer E-Mails
- E-Mails als PDFs in Google Drive speichern
- Automatisch Follow-up-E-Mails senden
- E-Mails nach Betreff-Keyword kennzeichnen
- Bestimmte E-Mails an mehrere andere Adressen weiterleiten
- Häufig gestellte Fragen
1. Automatische E-Mail-Löschung nach X Tagen
Sehr oft, nachdem wir E-Mails gelesen haben, lassen wir sie einfach in unserem Posteingang, egal wie nützlich sie sind. Jetzt, da Google einen Speicherplatzbegrenzung eingeführt hat, möchten Sie vielleicht Ihr Postfach aufräumen und sich von unnützen E-Mails trennen. Das folgende Skript kann nach E-Mails mit dem Label „Löschen“ suchen und diese nach „X“ Tagen löschen.
- Stellen Sie sicher, dass Sie in Ihr Google-Konto eingeloggt sind, gehen Sie zu Google Scripts und erstellen Sie ein neues Projekt.

- Fügen Sie das folgende Skript ein und speichern Sie es. Sie können die Anzahl der Tage (die Variable
delayDays), die vergehen, bevor die E-Mail-Nachrichten aus Ihrem Posteingang gelöscht werden, ändern.
function auto_delete_mails(){
var label = GmailApp.getUserLabelByName("Delete Me");
if(label == null){
GmailApp.createLabel('Delete Me');
}
else{
var delayDays =2; // Geben Sie die Anzahl der Tage ein, bevor Nachrichten in den Papierkorb verschoben werden
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()- Erstellen Sie einen neuen Trigger, um Ihr Skript nach einem Zeitplan auszuführen. Öffnen Sie „das Zeitplansymbol im linken Seitenmenü -> Trigger -> Trigger hinzufügen.“

- Passen Sie die Einstellungen Ihres Triggers an, um das Skript jede Stunde (oder so oft, wie 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 „Löschen“ in Ihrem Gmail-Konto. Taggen Sie Ihre unerwünschten E-Mails mit diesem Label, und sie werden nach der im Skript angegebenen Anzahl von Tagen gelöscht.
Tipp: Wenn Ihre E-Mail zu unübersichtlich erscheint, lesen Sie unsere Bewertung von SaneBox durch und sehen Sie nach, ob es Ihnen helfen kann, Ihre E-Mails zu verwalten.
2. Alle alten E-Mails archivieren
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 befolgen.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function archiveOldEmails(){
// Holen Sie sich alle Threads im Posteingang
var threads = GmailApp.getInboxThreads();
// Durchlaufen Sie alle Threads
for(var i =0; i < threads.length; i++){
var thread= threads[i];
var messages =thread.getMessages();
// Durchlaufen Sie alle Nachrichten im Thread
for(var j =0; j < messages.length; j++){
var message = messages[j];
var age =(new Date() - message.getDate()) / (1000 * 60 * 60 * 24);
// Wenn die Nachricht älter als 30 Tage ist, archivieren Sie sie
if(age >30){
thread.moveToArchive();
}
}
}
}- Erstellen Sie einen Trigger (wie oben gezeigt), um das Skript jeden Tag auszuführen.
Zu Ihrer gewählten Zeit wird das Skript ausgeführt und bewegt die E-Mails aus Ihrem Posteingang in das Archiv. 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 einfach alles schnell aufräumen möchten, zeigt Ihnen dieser Leitfaden, wie Sie alle Ihre ungelesenen E-Mails als gelesen markieren und sie löschen können.
3. SMS-Benachrichtigungen für wichtige E-Mails erhalten
Dieses Google-Skript nutzt 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, um es alle fünf Minuten auszuführen.
- Erstellen Sie einen neuen Gmail-Filter, der automatisch das Label „Send Text“ zu Ihren gewählten eingehenden E-Mails hinzufügt. Klicken Sie in Gmail auf das Suchoptionssymbol in der oberen Suchleiste.

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

- Überprüfen Sie „Label anwenden“, wählen Sie „Send Text“ 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, wird sofort ein Termin in Google Kalender erstellt, der die SMS auslöst.
Tipp: Sie können auch SMS-Nachrichten von Ihrem PC senden.
4. Erstellen Sie eine Zusammenfassung Ihrer E-Mails
Anstatt jede E-Mail einzeln zu lesen, können Sie ein Skript schreiben, um eine einzige E-Mail-Zusammenfassung Ihrer ungelesenen E-Mails zu erstellen.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function createEmailSummary(){
// Suchen Sie nach ungelesenen E-Mails
var threads = GmailApp.search("is:unread");
var summary ="Ungelesene E-Mails:\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";
}
}
// Suchen Sie nach E-Mails mit bestimmten Schlüsselwörtern im Betreff
var threads = GmailApp.search("subject:(wichtige Sitzung)");
summary +="\nE-Mails mit dem Schlüsselwort 'wichtige Sitzung' im Betreff:\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";
}
}
// Hier können Sie weitere Suchkriterien hinzufügen
// ...
// Senden Sie die Zusammenfassung als E-Mail
GmailApp.sendEmail("[email protected]","E-Mail-Zusammenfassung", summary);
}- Ändern Sie „[email protected]“ in Ihre E-Mail-Adresse.
- Erstellen Sie einen neuen Trigger, um das Skript täglich auszuführen.

Wenn das Skript ausgeführt wird, sendet es Ihnen eine E-Mail, die enthält, wie viele jeder Art von E-Mail Sie noch nicht gelesen haben. Das obige Skript ist ein guter Ausgangspunkt – es zählt die Anzahl der E-Mails mit „wichtige Sitzung“ im Betreff. Sie können das Skript anpassen, um Ihre gewünschten Suchkriterien zu zählen.
5. E-Mails als PDFs in Google Drive speichern
Wenn Sie eine E-Mail haben, die Sie in Google Drive archivieren möchten, können Sie ein Google-Skript verwenden, um sie als PDF in Ihrem Google Drive-Konto zu speichern. Das folgende Skript speichert alle Nachrichten in einem E-Mail-Thread als eine PDF-Datei in Ihrem Google Drive. Wenn die E-Mail Anlagen hat, wird ein Ordner erstellt und die Nachrichten und Anlagen darin gespeichert.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function save_Gmail_as_PDF(){
// Holen Sie sich das Label "Als PDF speichern" oder erstellen Sie es, wenn es nicht existiert
var label = GmailApp.getUserLabelByName("Save As PDF");
if(label == null){
label = GmailApp.createLabel('Save As PDF');
}
// Holen Sie sich die Threads mit dem 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 = [];
// Durchlaufen Sie alle Nachrichten im 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]);
}
}
}
// Erstellen Sie ein Google Docs-Dokument aus dem Nachrichtentext
var bodyDoc = DocumentApp.create(subject);
var bodyDocId = bodyDoc.getId();
var bodyDocFile = DriveApp.getFileById(bodyDocId);
var bodyDocBody = bodyDoc.getBody();
bodyDocBody.setText(bodys.map(obj => `Von: ${obj.from}\n${obj.body}`).join('\n\n'));
bodyDoc.saveAndClose();
// Konvertieren Sie das Google Docs-Dokument in eine PDF
var blob = bodyDocFile.getAs('application/pdf');
var pdfFile = DriveApp.createFile(blob);
// Wenn es Anhänge gibt
if(attachments.length > 0){
// Erstellen Sie einen Ordner in Drive mit dem Betreff der Nachricht
var folder = DriveApp.createFolder(subject);
for (var j = 0; j < attachments.length; j++) {
folder.createFile(attachments[j]);
}
// Fügen Sie die PDF-Datei des Nachrichtentextes zum Ordner hinzu
folder.createFile(pdfFile);
}
// Entfernen Sie das Google Docs-Dokument aus Google Drive
DriveApp.getFileById(bodyDocId).setTrashed(true);
// Entfernen Sie das Label vom Thread
label.removeFromThread(threads[i]);
}
}- Speichern Sie es und setzen Sie einen Trigger, um es in regelmäßigen Abständen auszuführen.

Wenn Sie eine E-Mail und deren Anhänge in Google Drive speichern möchten, taggen Sie sie einfach mit dem Label „Als PDF speichern“. Der Text jeder E-Mail und der Absender in jedem Thread werden der Reihenfolge nach angezeigt, beginnend mit der ältesten.
Gut zu wissen: Sind Sie sich nicht sicher, wie viele Dateien Sie in Ihrem Google Drive-Ordner haben? Dieser Leitfaden zeigt Ihnen, wie Sie es herausfinden können.
6. Automatisch Followup-E-Mails senden
Sie erhalten möglicherweise nicht immer eine schnelle Antwort auf Ihre E-Mails. Um dieses Problem zu lösen, können Sie eine Follow-up-E-Mail senden, um die Empfänger an die E-Mail zu erinnern. Anstatt jede Followup manuell zu schreiben, können Sie sie automatisch mit einem Skript senden!
- 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;
// Wenn ein gesendeter Thread mehr als 1 E-Mail hat, müssen wir nicht nachfassen
// weil wir entweder bereits nachgefasst haben oder sie geantwortet haben.
if (conversation.getMessages().length > 1) {
foundResponse = true;
}
if (!foundResponse) {
var body = "Hallo, ich wollte nur auf meine vorherige E-Mail nachfassen. Wenn ich keine Antwort erhalte, gehe ich davon aus, dass Sie nicht interessiert sind. \n\nMit freundlichen Grüßen,\n[Ihr Name]";
conversation.replyAll(body);
}
}
}- Passen Sie einige Dinge in diesem Skript an:
- Ändern Sie
startDatein eine Zeit näher am aktuellen Tag, um nicht sehr alte Threads wiederzubeleben. - Ändern Sie
daysAgo, um anzupassen, wie alt eine E-Mail sein soll, bevor Sie ein Follow-up senden. - Ändern Sie
[Ihr Name]in Ihren Namen.
- Speichern Sie es und setzen Sie einen Trigger, der alle sieben Tage ausgeführt wird.
E-Mailen Sie weiterhin normal, und das Skript kümmert sich automatisch um die Follow-ups.
7. E-Mails nach Betreff-Keyword kennzeichnen
Wenn Sie mit E-Mails überflutet werden, aber die meisten von ihnen nicht löschen möchten, können Sie dieses Skript verwenden, um sie basierend auf ihrem Inhalt zu kennzeichnen und zu organisieren.
- Erstellen Sie ein neues Google-Skript mit dem folgenden Code:
function categorizeEmails(){
const emailsToGet =50;
var keywords ={
"promo": "Werbeaktionen",
"offer": "Werbeaktionen",
"discount": "Werbeaktionen",
"newsletter": "Newsletter",
"action": "To-Do",
"required": "To-Do",
"shipped": "Bestellungen",
"delivered": "Bestellungen",
"receipt": "Bestellungen",
"invoice": "Bestellungen"
};
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
emailsToGetoder Schlüsselwörter und Labels mit der Variablenkeywordsanpassen. - Speichern Sie das Skript und setzen Sie einen Trigger, der alle paar Minuten oder Stunden ausgeführt wird.

Dies ermöglicht es Ihnen, den Überblick zu behalten, indem Sie nur E-Mails mit einem bestimmten Label anzeigen. Dieses Skript funktioniert gut für die meisten Ihrer E-Mails und verhindert, dass Sie sie einfach löschen.
Tipp: Richten Sie mehrere Signaturen in Gmail ein und wechseln Sie schnell zwischen ihnen für verschiedene Zielgruppen.
8. Bestimmte E-Mails an mehrere andere Adressen weiterleiten
Während Gmail eine integrierte Möglichkeit hat, E-Mails an eine andere E-Mail-Adresse weiterzuleiten, kann es nicht einfach E-Mails mit bestimmten Kriterien an mehrere E-Mail-Adressen weiterleiten, aber dieses Skript kann dies.
- 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("Weitergeleitet");
if(!label){
label = GmailApp.createLabel("Weitergeleitet");
}
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('Absender', sender,'Betreff', 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 automatisch E-Mails, die Ihren Kriterien entsprechen, an zwei oder mehr E-Mail-Adressen weiter.
Gut zu wissen: Gmail hat eine eingebaute Methode, um automatisch auf E-Mails zu antworten, wenn Sie im Urlaub oder außer Dienst sind.
Häufig Gestellte Fragen
Ist Google Apps Script kostenlos?
Ja, Google Apps Script ist kostenlos, solange Sie ein Gmail-Konto haben. Es gibt jedoch Dutzende von Quoten und Beschränkungen für Ihre Nutzung. Google kann diese jederzeit ändern, aber zum Zeitpunkt des Schreibens gibt es fast 40 Funktionen, wie z.B. erstellte Dokumente, gelesene/schreibende E-Mails, erstellte Tabellen und die gesamte Laufzeit von Triggern. Kostenlose Konten haben eine sehr niedrige Grenze, während Google Workspace eine viel höhere Grenze hat.
Kann ich Google Apps Script nutzen, um auf Daten anderer Dienste zuzugreifen?
Ja, Google Apps Script ist nicht auf die Arbeit mit Google-Diensten beschränkt. Sie können auf Daten von externen Nicht-Google-Diensten im Internet (zum Beispiel die Pokémon-API) mit integrierten Klassen wie UrlFetchApp zugreifen, so:
var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto"); Logger.log(response.getContentText()); // Alle Details von Ditto würden protokolliert
Was mache ich, wenn ich Fehler in meinem Google Apps Script bekomme?
Sie können Ihren Code debuggen, um den Fehler zu identifizieren und zu beheben. Glücklicherweise hat Google Apps Script einen eingebauten Debugger, den Sie zur Fehlersuche verwenden können. Um ihn zu verwenden, öffnen Sie einfach den Skripteditor und klicken Sie auf Debuggen. Von dort aus können Sie Haltepunkte setzen, durch Ihren Code gehen und Variablen inspizieren, um mögliche Probleme zu identifizieren.
Bildnachweis: Pexels. Alle Screenshots von Brandon Li.