Search code examples
javascriptgmailgoogle-apps-script

Google Apps Script - Gmail, delete forever e-mails in trash with specific label


I'm trying to make a script that automatically deletes e-mails from a certain sender immediately and permanently, as Gmail only allows for a filter which sends an e-mail to trash for 30 days. Please do not suggest that the default filter is enough, as for my situation, it is vital that I do not know that I was sent an e-mail from this sender.

My current script looks like this:

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
    }
};

However, I have been unable to figure out a way to use a GmailThread and to delete it permanently as there does not exist a function for this purpose. I was looking to see if there was a way I could finish the task using JavaScript, but have been unable figure out a method.

Does anyone have an idea how I can set these e-mails to delete themselves permanently when received?


Solution

  • It is not possible in GmailApp, by design, to permanently delete an email.

    But you can use the advanced service Gmail, as written in the other answers here