Az egyik valóban régi e-mail címemet továbbítottam a Gmailbe. Szeretnék létrehozni egy szűrőt, hogy az adott régi címre küldött levelek mindig megfelelően címkézve a Gmailben.
Létrehozhatok egy Gmail-szűrőt a “Címzett:” címmel, amely tartalmazza ezt a címet, de az nem fog minden e-mailt elkapni az adott címre, csak azokat. Gyakran előfordul spam, ahol valaki más a kifejezett címzett, és a régi címem egyszerűen Bcc “d volt. A “Címzett:” szűrő nem működik.
Amit “tennem kell” , az a “Kiszállított:” fejléc szűrője. Lehetséges ez a Gmail használatával, vagy ragaszkodtam a Három, a Cím, a Tárgy három szokásos opciójához?
Megjegyzések
- Kapcsolódó: Hozzon létre egy Gmail-szűrőt a Naptár értesítéseihez
Válasz
Igen, szűrhet kézbesítés szerint. Csak hozzon létre egy új szűrőt deliveredto:[email protected]
mezővel az has the words
mezőben.
Megjegyzések
- Nem túl intuitív, de igen. Úgy gondolom, hogy a legtöbb
to:
deliveredto:
-nek valóban támogatnia kell a BCC-ket. - Ez működött helyettesítő karakterekkel is, például például egy catch-all email címet használ a
deliveredto:*@mydomain.com
cím alatt? Próbálom, de időbe telik a tesztelés. - Ne feledje, hogy a GMail tetején található keresősáv segítségével létrehozhatja a speciális keresést, majd kattintson a keresősáv végén található nyílra, és válassza a ” Szűrő létrehozása ezzel a kereséssel. ”
- Ez nem oldja meg a problémát a továbbított fejléceken kívül ? (Mondjon keresést az automatikusan beküldött vagy a precedencia fejlécekre)
- ‘ elég kellemetlen, hogy a fejléc szövege ” Delivered-To: “, míg a ” mezőben ” mező kiküszöböli a ‘ – ‘ ” kézbesítéséhez: “.
Válasz
Itt található a haladó operátorok listája:
innen:
ide:
tárgy:
VAGY
– (kötőjel)
címke:
rendelkezik: melléklet
lista:
fájlnév:
“” (idézőjelek)
()
itt: bárhol
be: beérkező levelek között: kukában
levélben: spam
fontos:
van: csillaggal jelölt: van: olvasatlan: olvasott: van: sárga csillag
van: piros csillag
van: narancs-csillag
van: zöld-csillag
van: kék-csillag
van: lila-csillag
van: piros-bumm van: narancs-guillemet van: sárga-bumm van: zöld- ellenőrizze, hogy van-e: blue-info
has: lila-kérdés
cc:
bcc:
után:
előtt:
régebbi:
újabb:
older_than:
newer_than:
is: csevegés és kézbesítés:
kör:
rendelkezik: kör
kategória:
méret:
nagyobb:
kisebb:
+ (pluszjel)
rfc822msgid:
has: felhasználói címkék
has: nouserlabels
[ forrás ]
Megjegyzések
- Köszönöm. Még az oldaluk is megnehezíti annak megállapítását, hogy egy NOT operátor
-
helyettesítő címeken működne-e, például:-*@mydomain.com
aTo:
mező
Válasz
- menjen ide: https://script.google.com és hozzon létre egy új Google Apps-parancsfájlt
-
válassza a “Parancsfájl létrehozása a Gmailhez” opciót
- ez létrehoz egy szkriptprojektet
- ez létrehoz egy
Code.gs
nevű parancsfájlt.
- ez létrehoz egy függvénymintát, egyikük neve
processInbox
-
mentse a projektet
- testreszabhatja a parancsfájlt és tesztelje, amíg meg nem elégedett.
-
keresse meg az “egyéni projekt” kiváltó gombját
- ez lehetővé teszi a parancsfájl futtatását egy időzítőn (pl. naponta, vagy percenként )
Példa:
processInbox
Ez a függvény ismétli a beérkező levelek összes üzenetét.
function processInbox() { // process all recent threads in the Inbox (see comment to this answer) var threads = GmailApp.search("newer_than:1h"); for (var i = 0; i < threads.length; i++) { // get all messages in a given thread var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; processMessage(message); } } }
Menjen egy lépéssel tovább és hívja a GmailApp.search()
, ha valami divatos dolgot szeretne csinálni a GmailApp.getInboxThreads()
helyett.
processMessage
Ez a funkció gondoskodik egyetlen üzenet feldolgozásáról; megkapja a nyers tartalmat a getRawContent()
paranccsal, és megpróbálja megtalálni a fejlécét odabent, ha ott van, jelölje meg az üzenetet.
function processMessage(message) { var body = message.getRawContent(); if (body.indexOf("X-Custom-Header: some-custom-value") > -1) { // do stuff with message (e.g. add label) } }
Megjegyzések
- Nem bizonyított bélreakcióm az, hogy a Google-nek lesz valami helye a felhasználók megállítására percenként végiggurul koncertek értékű nyers e-mail tartalmat. Ezért ‘ azt tanácsolom, hogy cserélje le a ” var threads = GmailApp.getInboxThreads (); ” a ” var szálak = GmailApp.search (” newer_than: 1h “); ”
- A
var MyEmails = GmailApp.search("is:unread in:inbox");
fájlt használom, hogy a beérkező levelek mappájában minden olyan e-mailt megkereshessek, amely még nincs olvasva - @Rick – Írtam egy szkriptet, amely az IMAP felület segítségével végigjárja a Gmail-fiókomban található 13 + GB-ot. ‘ Nem okozna meglepetést ‘, ha a script.google.com megengedné.
- Bárki számára, aki jön ehhez hasonlóan, mint én pontosan ezt próbáltam megtenni, ‘ nem adhat hozzá címkét egy üzenethez, csak a szálhoz, tehát ‘ tenned kell
message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
- Megtalálhatja az üzenet fejlécét, amely jobb is lehet, mint a törzsben való keresés, különösen a csatolt üzenetek esetén.
Válasz
Használhatja a deliveredto:
operátort a Has the words
mező szűrő létrehozásakor, ahogy a @mvime jelezte. Azonban nem minden e-mail szolgáltató csatolja a következőt: 0326b2b374 “>
, és szűrjedeliveredto:([email protected])
szerint.