Przekazałem jeden z moich naprawdę starych adresów e-mail do Gmaila. Chcę utworzyć filtr, aby każda poczta wysyłana na ten stary adres była zawsze prawidłowo oznaczone w Gmailu.

Mogę utworzyć filtr Gmaila z elementem „Do:” zawierającym ten adres, ale nie przechwytuje on wszystkich wiadomości na ten adres, tylko te które są wyraźnie adresowane. Często jest spam, którego adresatem jest ktoś inny, a mój stary adres to po prostu UDW „d. Filtr „Do:” nie działa.

To, co chciałbym zrobić, to odfiltrować nagłówek „Delivered-To:”. Czy to możliwe w Gmailu, czy też utknąłem z trzema standardowymi opcjami Od, Do i Temat?

Komentarze

Odpowiedź

Tak, możesz filtrować według dostarczonych do. Po prostu utwórz nowy filtr z deliveredto:[email protected] w polu has the words.

Komentarze

  • Niezbyt intuicyjne, ale tak. Myślę, że większość to: powinna być w rzeczywistości deliveredto:, aby obsługiwać UDW.
  • Czy to działało również z symbolami wieloznacznymi, na przykład używając adresu catch-all w deliveredto:*@mydomain.com? Próbuję, ale przetestowanie zajmie trochę czasu.
  • Pamiętaj, że możesz skorzystać z paska wyszukiwania u góry Gmaila, aby utworzyć wyszukiwanie zaawansowane, a następnie kliknąć strzałkę na końcu paska wyszukiwania i wybrać ” Utwórz filtr za pomocą tego wyszukiwania. ”
  • Nie rozwiązuje to problemu z nagłówkami innymi niż Dostarczone do ? (Powiedz, aby wyszukać nagłówki przesłane automatycznie lub Pierwszeństwo)
  • To ' jest dość nieprzyjemne, że tekst nagłówka to ” Delivered-To: „, podczas gdy ” ma ” eliminuje pole ' – ', aby uzyskać ” dostarczone do: „.

Odpowiedź

Oto lista wszystkich zaawansowanych operatorów:

od:
do:
temat:
LUB
– (łącznik)
etykieta:
has: załącznik
lista:
nazwa_pliku:
„” (cudzysłowy)
()
w: wszędzie
w: skrzynce odbiorczej
w: kosz
w: spam
jest: ważne
to: gwiazdka
to: nieprzeczytane
to: przeczytane
ma: żółta-gwiazdka
ma: czerwona-gwiazdka
ma: pomarańczową-gwiazdkę
ma: zieloną-gwiazdkę
ma: niebiesko-gwiazdka
ma: fiolet-gwiazdka
ma: czerwono-bang
ma: pomarańczowo-gilemet
ma: żółto-huk
ma: zielono- check
has: blue-info
has: purple-question
cc:
bcc:
after:
before:
starszy:
nowszy:
senior_than:
newer_than:
to: czat
dostarczony do:
krąg:
has: krąg
kategoria:
rozmiar:
większy:
mniejszy:
+ (znak plus)
rfc822msgid:
has: userlabels
has: nouserlabels

[ źródło ]

Komentarze

  • Dziękujemy. Nawet ich strony utrudniają określenie, czy operator NOT - działałby na adresach z symbolami wieloznacznymi, np .: -*@mydomain.com w

Odpowiedź

  1. przejdź do https://script.google.com i utwórz nowy skrypt Aplikacji Google

nowy skrypt google apps.

  1. wybierz opcję „Utwórz skrypt dla Gmaila”.

    • spowoduje to utworzenie projektu skryptu
    • spowoduje to utworzenie skryptu o nazwie Code.gs
    • spowoduje to utworzenie przykładowych funkcji, w tym jednej o nazwie processInbox
  2. zapisz projekt

  3. dostosuj skrypt i testuj go, aż będziesz zadowolony
  4. znajdź przycisk „wyzwalacze projektu niestandardowego”

    niestandardowy przycisk wyzwalacza

    • umożliwi to uruchomienie skryptu na zegarze (np. codziennie lub co minutę )

Przykład:

processInbox

Ta funkcja sprawdzi wszystkie wiadomości w skrzynce odbiorczej.

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

Idź o krok dalej i zadzwoń pod numer GmailApp.search() , jeśli chcesz zrobić coś wymyślnego zamiast GmailApp.getInboxThreads().

processMessage

Ta funkcja zajmie się przetwarzaniem pojedynczej wiadomości; otrzymujesz surową zawartość za pomocą getRawContent() i spróbuj znaleźć tam swój nagłówek, jeśli tam jest, oznacz wiadomość.

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

Komentarze

  • Moją niesprawdzoną reakcją instynktu jest to, że Google będzie miało coś, co powstrzyma użytkowników co minutę przegląda nieprzetworzone treści e-mailowe. Dlatego ' radzę zastąpić ” var thread = GmailApp.getInboxThreads (); ” z ” var thread = GmailApp.search (” newer_than: 1h „); ”
  • Używam var MyEmails = GmailApp.search("is:unread in:inbox");, aby przeszukiwać wszystkie e-maile w skrzynce odbiorczej, które nie zostały jeszcze przeczytane
  • @Rick – Napisałem skrypt, który używa interfejsu IMAP, aby przejść przez wszystkie 13 + GB na moim koncie Gmail. ' Nie ' nie zdziwiłbym się, gdyby skrypt.google.com na to pozwolił.
  • Z korzyścią dla każdego, kto przyjdzie do tego tak, jak próbowałem zrobić dokładnie to, możesz ' dodać etykietę do wiadomości, tylko do wątku, więc ' będzie trzeba zrobić message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
  • Możesz uzyskać nagłówek wiadomości, który może być lepszy niż przeszukiwanie treści, szczególnie w przypadku wiadomości z załącznikami.

Odpowiedź

Możesz użyć operatora deliveredto: w Has the words podczas tworzenia filtru, jak wskazano w @mvime. Jednak nie wszyscy dostawcy poczty e-mail dołączają Delivered-to do nagłówka wiadomości e-mail, więc bardziej niezawodnym sposobem jest przekazanie [email protected] do [email protected] i filtruj według deliveredto:([email protected]).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *