it-swarm.com.de

Google Mail-Filter basierend auf Label und Sternchen

Ist es möglich, in Google Mail oder einer anderen App (Android oder GNU/Linux) Filter basierend auf Labels und Status mit oder ohne Sternchen zu erstellen?

Mein spezielles Problem ist folgendes: Ich möchte Mails mit der Bezeichnung lists nach 15 Tagen löschen, wenn sie nicht markiert sind. (Ich wende das Etikett mit Filtern an, die auf dem E-Mail-Header list:mailing list basieren.)

4
Akilan

Sie können Filter kombinieren:

label:lists AND is:starred

Fügen Sie - vor is:starred hinzu, um diejenigen auszuwählen, die nicht mit einem Stern versehen sind:

label:lists AND -is:starred
5
Nathan Fellman

Google Mail-Filter wirken sich nur auf eingehende E-Mails aus, nicht auf alles, was Sie bereits erhalten haben.

E-Mails, die Sie bereits haben, sind nur betroffen, wenn Sie einen Filter erstellen und ihn anweisen, auf alle E-Mails anzuwenden, die Sie beim Testen eines Filters sehen.

Eine Problemumgehung besteht darin, nach allen E-Mails zu suchen, die älter sind als ein bestimmtes Datum, und zwar mit dem gewünschten Label und Stern.

label:lists is:starred before:2011/01/20

Mit dem obigen Befehl werden alle mit "Listen" gekennzeichneten E-Mails abgerufen, die mit einem Stern versehen sind und vor dem 20. Januar 2011 in Ihrem Posteingang eingegangen sind. Wählen Sie alle aus, und löschen Sie dann und Sie ' fertig.

Stellen Sie bei der Suche mit dem Parameter before: sicher, dass das Datum im Format JJJJ/MM/TT vorliegt.

Wenn Sie sich die URL ansehen, sieht sie ungefähr so ​​aus:

https://mail.google.com/mail/?shva=1#search/label%3Alists+is%3Astarred+before%3A2011%2F01%2F20

Sie können ein Lesezeichen setzen, um auf die bereits ausgefüllte Suche zuzugreifen . Das Datum ist jedoch gesperrt und Sie müssen es nur aktualisieren, wenn Sie das nächste Mal die Bereinigung ausführen möchten.

Ab Ende 2012 (gemäß this ) können Sie nun tun, was Lucas R vorgeschlagen hat, ohne den Filter ständig wechseln zu müssen.

Verwenden Sie einfach den neuen Suchbegriff _older_than:_, wie in _older_than:15d_ für Ihren Fall.

Für Ihren Fall würden Sie suchen (oder als Filter verwenden):
label:lists -is:starred older_than:15d


Warnung:

_is:starred_ passt zu jeder Konversation, in der mindestens eine E-Mail einen Stern hat.
so _-is:starred_ entspricht jeder Konversation, in der nicht jede E-Mail mit einem Stern versehen ist . (Ich habe das gerade getestet.)

Wenn Sie sich darauf verlassen können, dass jede einzelne E-Mail in den Konversationen, die Sie löschen möchten, markiert ist (dh wenn alle E-Mails mit Ihrem lists -Tag eigenständig sind und keine Antworten oder Weiterleitungen erhalten, oder wenn diese nicht vorhanden sind) Haben Sie Antworten oder Weiterleitungen, stellen Sie sicher, dass Sie jede E-Mail in der Konversation markieren (zweifelhaft!)), dann können Sie die oben stehende Suche sicher für Ihren Löschfilter verwenden.

Wenn Sie sich nicht darauf verlassen können, müssen Sie etwas anderes tun, wie zum Beispiel Folgendes:

  • erstelle einen neuen Filter, der nach _label:lists is:starred_ sucht und ein neues Tag/Label anwendet (wie listsStarred)
  • verwenden Sie für die Hauptsuche/Filter anstelle von _label:lists -is:starred older_than:15d_ (oben) label:lists -label:listsStarred older_than:15d

(Möglicherweise liegt immer noch ein Problem vor, wenn der erste Filter vor dem zweiten Filter ausgeführt wird. Lesen Sie hierzu diese Fragen :)

2
A.M.

Ich habe nur versucht, das Gleiche zu tun und habe eine Abhilfe gefunden! Okay, vielleicht habe ich den zweiten Teil über das Löschen der Liste nach x Tagen noch nicht herausgefunden. Aber ich konnte nach Label filtern.

Klicken Sie in Ihrem Google Mail-Konto im Suchfeld auf den Abwärtspfeil. Unter Suchen finden Sie ein Dropdown-Menü, wählen Sie Ihr Label aus, markieren Sie es usw. Klicken Sie dann bei dieser Suche auf Filter erstellen. Es wird eine Warnung angezeigt, dass nicht empfohlen wird, Beschriftungen und Sterne als einzige Suchkriterien zu verwenden. Ignorieren Sie es und klicken Sie trotzdem auf Weiter. Von dort aus sollten Sie in der Lage sein, die regulären Filteraktionen anzuwenden.

Es hat bei mir funktioniert ... Dies war eigentlich meine Problemumgehung, um "ein Ereignis in eine Aufgabe zu konvertieren". Ich stelle die Ereignisse so ein, dass eine E-Mail-Erinnerung an mich gesendet wird. Wenn ich fertig bin, wende ich ein Label für die erledigte Aufgabe an und möchte, dass diese nur noch archiviert werden, damit sie nicht mehr in meinem Posteingang angezeigt werden Aufzeichnungen über erledigte Aufgaben. Hoffe, das war etwas nützlich.

1
V.C.

Sie könnten das Problem mit einem Google App-Skript lösen.

Ich verwende Folgendes, um Belege, die ich in meiner Mailbox-App tagge, mit Belegen zusammenzuführen, die ich in Google Mail direkt automatisch tagge.

function addReceiptLabelToMailboxReceipts() {

  var mailboxLabel = GmailApp.getUserLabelByName("[Mailbox]/Receipts");
  var stdLabel     = GmailApp.getUserLabelByName("Receipts");

  stdLabel.addToThreads(mailboxLabel.getThreads());

}

Sie müssten die Daten durchlaufen und vergleichen. Etwas wie das Folgende wird Ihnen den größten Teil des Weges erleichtern.

var threads = label.getThreads();  
for (var i = 0; i < threads.length; i++) {  
    var messages = threads[i].getMessages();  
    var message = messages[0];

    var date = message.getDate();

}
1
Johan

Ich habe gerade Ihre Antwort gelesen, um die Information "ist: mit einem Stern versehen" zu erhalten. Ich habe eine andere Idee, wie Sie einen Batch-Löschvorgang ausführen können. Es ist eine manuelle Methode, aber vielleicht einfacher.

  1. Richten Sie einen Filter für label:lists -is:starred before:yyyy/mm/dd ein, wobei die einzige Aktion delete ist.
  2. Dieser Filter hat keine Auswirkung auf neue E-Mails, speichert jedoch den Filter.
  3. Wenn Sie es verwenden möchten, gehen Sie zum Filter und wählen Sie edit, dann bearbeiten Sie das Datum und aktivieren Sie das Kontrollkästchen mit der Aufschrift also apply to matching emails. Klicken Sie auf update filter und es wird auf Ihren vorhandenen E-Mails ausgeführt.
1
Lucas R