Wie erstelle ich einen Google Mail-Filter, der nur am Anfang der Betreffzeile nach Text sucht?


113

Wir erhalten regelmäßig automatisierte Build-Nachrichten von Jenkins Build-Servern bei der Arbeit.

Es wäre schön, diese in ein Etikett zu stecken und den Posteingang zu überspringen.

Die Verwendung eines Filters ist natürlich die richtige Wahl.

Der gewünschte Bezeichner ist die Zeichenfolge [RELEASE]am Anfang einer Betreffzeile.

Der Versuch, eine der folgenden regulären Ausdrücke anzugeben, führt dazu, dass E-Mails mit der Zeichenfolge releaseauf jeden Fall an einer beliebigen Stelle in der Betreffzeile übereinstimmen:

\[RELEASE\]*
^\[RELEASE\]
^\[RELEASE\]*
^\[RELEASE\].*

Nach dem, was ich später gelesen habe, bietet Google Mail keine Standard-Regex-Unterstützung, und aus Experimenten geht hervor, dass Sonderzeichen wie bei der Google-Suche einfach ignoriert werden.

Ich suche deshalb für einen Suchparameter , die verwendet werden können, vielleicht so etwas wie atstart:mystringim Einklang mit ihren has:, in:Notationen.

Gibt es eine Möglichkeit, die Übereinstimmung nur dann zu erzwingen, wenn sie am Anfang der Zeile erfolgt und nur in eckigen Klammern?

Herzlichen Dank.


Sollte ^\[RELEASE\].*ich den Trick nicht machen oder verstehe ich falsch, was Sie tun wollen?
Hauns TM

Nein, unabhängig von Escapezeichen funktioniert das Regex-Format nicht. Nach dem, was ich gelesen habe, hat Google Mail keine Unterstützung für Standard-Regex, und nach Experimenten scheint es, als würden Sonderzeichen wie bei der Google-Suche einfach ignoriert. Ich bin auf der Suche nach einer „geheimen“ Flagge oder solche , die ‚vielleicht so etwas wie verwendet werden können , atstart:mystringim Einklang mit ihren has:, in:Notationen. Ich werde diese Informationen zur Verdeutlichung in meinen Beitrag aufnehmen, trotzdem danke.
KomodoDave

Antworten:


147

Regex ist nicht in der Liste der Suchfunktionen enthalten , und es befand sich (mehr oder weniger als bessere Nachrichtensuchfunktion (dh Platzhalter- und Teilwortsuche) ) in der Liste der vordefinierten Funktionsanforderungen. Die Antwort lautet also "Sie können dies nicht tun" dies über die Google Mail-Web-Benutzeroberfläche ":-(

Es gibt keine aktuellen Labs- Funktionen, die dies bieten. SIEVE-Filter wären eine andere Möglichkeit, dies zu tun. Auch dies wurde nicht unterstützt. In der Google Mail-Hilfe scheint es keine endgültige Aussage mehr zur SIEVE-Unterstützung zu geben.

Aktualisiert für Link verrotten Die Pre-Dosen Liste der Feature - Requests wurde er in Dosen, ist das Original auf archive.org 2012 datiert, jetzt nur Sie erhalten umgeleitet zu einer verdummt Seite sagen Ihnen , wie Feedback zu geben. Der Mangel an SIEVE-Unterstützung wurde in Antwort 78761 behandelt. Unterstützt Google Mail alle IMAP-Funktionen? Seit einiger Zeit im Jahr 2015 , bei der die Antwort stillschweigend auf die Antwort zur IMAP-Clientkonfiguration umleitet, verfügt archive.org über eine Kopie vom Jahr 2014.

Bei den aktuellen Suchfunktionen werden Klammern beliebiger Form () {} []zum Gruppieren verwendet. Sie haben keine beobachtbaren Auswirkungen, wenn nur ein Begriff enthalten ist. Verwenden (aaa|bbb)und [aaa|bbb]sind gleichwertig und finden beide Wörter aaaoder bbb. Die meisten anderen Interpunktionszeichen, einschließlich \, werden als Leerzeichen oder Worttrennzeichen behandelt + - :und "haben jedoch eine besondere Bedeutung, siehe Hilfe .

Ab 2016 ist nur das Formular " {term1 term2}" dafür dokumentiert und entspricht der Suche " term1 OR term2".

Sie können Regex-Suchen in Ihrem Postfach (innerhalb bestimmter Grenzen) programmgesteuert über Google-Dokumente durchführen: http://www.labnol.org/internet/advanced-gmail-search/21623/ Die Quelle zeigt, wie dies durchgeführt werden kann (kopieren Sie das Dokument, dann Tools > Script Editor, um die vollständige Quelle zu erhalten).

Sie können dies auch über IMAP tun, wie hier beschrieben: Python IMAP sucht nach einem Teil des Betreffs und schreibt etwas, um Nachrichten in einen anderen Ordner zu verschieben. Das IMAP SEARCH-Verb unterstützt nur Teilzeichenfolgen, keine regulären Zeichenfolgen (die Google Mail-Suche beschränkt sich weiterhin auf vollständige Wörter, keine Teilzeichenfolgen). Eine weitere Verarbeitung der Übereinstimmungen zum Anwenden einer regulären Schreibweise wäre erforderlich.

Der Vollständigkeit halber ist eine letzte Problemumgehung: Google Mail unterstützt plus Adressierung . Wenn Sie die Zieladresse ändern können, youraddress+jenkinsrelease@gmail.comwird diese weiterhin an Ihre Mailbox gesendet, wo Sie nach Empfängeradresse filtern können. Stellen Sie sicher, dass Sie mit der vollständigen E-Mail-Adresse filtern to:youraddress+jenkinsrelease@gmail.com. Dies ist natürlich mehr oder weniger dasselbe wie das Einrichten einer dedizierten Google Mail-Adresse für diesen Zweck :-)


Gibt es ein Escape-Zeichen, um nach Klammern oder Interpunktion zu suchen?
Aron

@ Aaron Ich glaube nicht. Obwohl einige Interpunktionen speziell behandelt werden (wie Code-bezogen c++), ist es am besten, sich die Suche so vorzustellen, dass sie nur mit vorindizierten Wörtern arbeitet.
mr.spuratic

Ich denke, Sie können ein doppeltes Anführungszeichen verwenden, um Klammern zu umgehen. Ich verwende es in meinen Filtern und es sieht so aus, als würde es funktionieren. Wenn ich es verwende, subject: {[term1] (part of term2}finde ich alle Nachrichten, die sowohl term1 als auch einen Teil von term2 enthalten, im Betreff. Aber mit der Form, die subject:{"[term1] (part of term2"}ich finde Alle Nachrichten mit Betreff, die
Izerlotti

1

Die einzige Option, die ich gefunden habe, um dies zu tun, besteht darin, einen genauen Wortlaut zu finden und diesen unter die Option "Hat die Wörter" zu setzen. Es ist nicht die beste Option, aber es funktioniert.


-7

Ich habe mich gefragt, wie ich das selbst machen soll. Es scheint, dass Google Mail diese Funktion seitdem stillschweigend implementiert hat. Ich habe folgenden Filter erstellt:

Matches: subject:([test])
Do this: Skip Inbox

Und dann habe ich eine Nachricht mit dem Betreff gesendet

[test] foo

Und die Nachricht wurde archiviert! Es scheint also alles, was notwendig ist, einen Filter für das Betreffpräfix zu erstellen, das Sie behandeln möchten.


5
Beachten Sie, dass Ihr Filter diese Nachricht auch abfängt, wenn Sie eine Nachricht mit dem Betreff "test foo" senden. "[Test]" sucht nur wirklich nach "Test" =)
Daniel Gill

25
Hier ist ein Tipp: Wenn Sie eine Idee testen möchten, versuchen Sie, Möglichkeiten zu finden, um sie zu widerlegen. In Ihrem Fall haben Sie einen Filter geschrieben, um die eckigen Klammern zu erfassen, und Ihr Test hat erwartet, dass der Filter funktioniert. Sie sollten es testen und erwarten, dass es fehlschlägt, wie @DanielGill betonte. :)
pedromanoel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.