Google Apps Script - Google Mail löschen e-mails im Papierkorb, die mit bestimmten Etikett
Ich versuche, ein Skript, das automatisch löscht e-mails von einem bestimmten Absender sofort und dauerhaft, wie Gmail erlaubt nur einen filter, der sendet eine e-mail in den Papierkorb für 30 Tage. Bitte nicht schlagen, dass der Standard-filter ist genug, für meine situation, ist es wichtig, dass ich nicht weiß, dass ich schickte eine e-mail von diesem Absender.
Mein Aktuelles script sieht so aus:
function deleteForever(labelName) {
var threads = GmailApp.search("in:trash label:" + labelName);
for (var i = 0; i < threads.length; i++) {
threads[i].moveToTrash(); //Where I would need a delete forever trigger
}
};
Allerdings habe ich bisher nicht herausfinden, einen Weg, um eine GmailThread und dauernd zu löschen als, es existiert nicht eine Funktion für diesen Zweck. Ich war auf der Suche um zu sehen, ob es einen Weg gibt, konnte ich beenden die Aufgabe mit JavaScript, aber nicht in der Lage gewesen herauszufinden, eine Methode.
Hat jemand eine Idee, wie ich das einstellen kann, diese e-mails zu löschen, die sich dauerhaft, wenn Sie empfangen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht möglich, durch design, so löschen Sie ein E-Mail permanent mit GmailApp.
@karan Antwort weist bereits auf die Lösung, die für mich gearbeitet, aber unerfahrenen /nicht-a-professional-Entwickler, es hat mich ein wenig Arbeit, um es zu übersetzen in eine funktionierende Lösung für die ursprüngliche Frage. Hier ist eine kurze Beschreibung der Schritte, die ich verwendet, um diese Aufgabe auszuführen:
Erstellen Sie die folgende Funktion in mein Skript:
Aktivieren erweiterte Dienste für das Skript, suchen Sie
Resources
auf das Menü, und wählen SieAdvanced Google services...
Aktivieren
Gmail API
auf der Liste.Vor der Auswahl
OK
, klicken Sie auf dieGoogle Developers Console
link. Suche fürgmail
, und aktivieren Sie den Dienst auch dort.Fertig sind, wählen Sie
OK
; die Funktion sollte jetzt funktionieren. (Kommentar: wie bereits in das link @karan zur Verfügung gestellt, kann man"me"
für die userID, oder alternativ bieten Sie eine Gmail-Adresse:"<address>@gmail.com"
.)(Schritte zum aktivieren der erweiterten services für mein script basiert auf Google ' s guide hier.)
Start Scripting
- Taste, und Sie werden in der Lage zu führen Sie die Schritte einfach.Messages
inThreads
. Haben Sie getestet, das Skript so? Wenn dem so ist, und Sie können kommentieren Sie den Vorteil, dass ich werde glücklich sein, Sie zu akzeptieren. (So schön es war, für mich zu arbeiten so, wie es derzeit geschrieben für das vergangene Jahr.)Wenn es jemandem hilft, es kann getan werden, mithilfe der erweiterten services.
https://developers.google.com/gmail/api/v1/reference/users/messages/delete
Ist die Methode in der advanced services ist
Gmail.Users.Messages.remove(userId, id)
Gmail.Users.Messages.remove(me, threads[i].getId());
?Dieses Skript funktioniert für Google Apps Script. Sie müssen nur anschließen und auth-services zusammen.
versuchen, diese