Kimden, Kime, Konu dışındaki başlıklar üzerinde çalışan bir Gmail filtresi oluşturmak mümkün müdür?


105

Eski e-posta adreslerimden birini Gmail’e ilettim. Bir filtre oluşturmak istiyorum, böylece bu eski adrese gelen postaların her zaman Gmail’de düzgün bir şekilde etiketlenmesini sağlar.

Bu adresi içeren "Kime:" ile bir Gmail filtresi oluşturabilir, ancak bu adrese gönderilen tüm postaları yakalamaz , yalnızca açıkça adreslenmiş olanları. Genellikle, başka birinin açık alıcı olduğu spam var ve eski adresim basitçe Bcc'd. "Kime:" filtresi çalışmıyor.

Ne olurdu gibi başlığındaki: yapmak "Teslim-To" konulu filtredir. Bu Gmail’de mümkün mü, yoksa Kimden, Konu’nın üç standart seçeneğiyle mi takıldım?


Yanıtlar:


68

Evet, teslimata göre filtreleyebilirsiniz. Sadece yeni bir filtre oluşturmak deliveredto:youremail@address.comiçinde has the wordssahada.


Çok sezgisel değil, ama evet. Bence çoğu , BCC'leri desteklemek için to:olmalı deliveredto:.
lapo,

Bu, örneğin, bir " hepsini yakala" e-posta adresi kullanarak da joker karakterlerle çalıştı deliveredto:*@mydomain.commı? Deniyorum ama test etmek zaman alacak.
Marcos

1
Gelişmiş aramanızı oluşturmak için GMail'in üstündeki arama çubuğunu kullanabileceğinizi ve ardından arama çubuğunun sonundaki oku tıklayıp "Bu aramayla filtre oluştur" u seçebileceğinizi unutmayın.
Feckmore

2
Bu, Teslim Edilenler dışındaki başlıklar için sorunu çözmüyor mu? (Otomatik gönderilen veya Öncelikli başlıklar için bir arama söyleyin)
Gert van den Berg

2
Üstbilgi metninin "Teslim Edildi:" olduğu oldukça iğrenç, "alan" alanı ise "- teslimini" sağlamak için "-" yi ortadan kaldırır.
James Bowery

36

İşte tüm gelişmiş operatörlerin bir listesi:

dan:
için:
konu:
YA
- (tire)
etiket:
has: attachment
listesi:
dosya adı:
"" (tırnak)
()
in: anywhere
in: gelen kutusu
içinde: çöp
in: spam
: önemli
olan: yıldızlı
geçerli: okunmamış
geçerli: okumaya
sahip: sarı-yıldız
has: kırmızı-yıldız
has: turuncu-yıldız
has: yeşil-yıldız
has: mavi-yıldız
has: mor-yıldız
has: kırmızı
-sıçan
var: turuncu-guillemet has: sarı- su has
vardır: yeşil- çek
var: mavi bilgi
var: mor soru
cc:
bcc:
sonra:
önce:
büyük:
yeni:
older_than:
newer_than:
is: chat
teslimi:
daire:
has: circle
kategorisi:
size:
daha büyük:
daha küçük:
+ (artı işareti)
rfc822msgid:
has: userlabels
has: nouserlabels

[ kaynak ]


Teşekkürler. Hatta onların sayfaları DEĞİL operatör eğer zor belirlemek için yapmak -: joker adresleri, örneğin üzerinde çalışacak -*@mydomain.comiçinde To:alanında
Marcos

31
  1. https://script.google.com adresine gidin ve yeni bir Google Apps Komut Dosyası oluşturun

yeni google apps komut dosyası.

  1. "Gmail için komut dosyası oluştur" seçeneğini seçin

    • bu bir script projesi yaratacak
    • Bu denilen bir komut dosyası yaratacak Code.gs
    • bu, bir tanesi adında örnek fonksiyonlar yaratacaktır processInbox
  2. projeyi kaydet

  3. komut dosyasını özelleştirin ve memnun kalana kadar test edin
  4. "özel projenin tetikleyicileri" düğmesini bulun

    özel tetikleme düğmesi

    • bu, komut dosyasını bir zamanlayıcıda çalıştırmanıza izin verir (ör. günlük veya her dakika )

Örnek:

processInbox

Bu işlev, Gelen kutusundaki tüm mesajlarda yinelenir.

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

Bir adım daha ileri gidin ve GmailApp.search()bunun yerine süslü bir şey yapmak istiyorsanız arayın GmailApp.getInboxThreads().

ProcessMessage

Bu fonksiyon tek bir mesajın işlenmesini sağlar; içeriğin içeriğini alırsınız ve getRawContent()içeride başlığınızı bulmaya çalışırsınız, içerideyse, mesajı etiketleyin.

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

11
Kanıtlanmamış bağırsak tepkim, google’ın, kullanıcıların her dakika ham e-posta içeriğine değer konserler arasında dolaşmalarını engelleyecek bir şeye sahip olacağı yönünde. Bu yüzden değiştirmenizi tavsiye ederim "var thread = GmailApp.getInboxThreads ();" "var thread = GmailApp.search (" newer_than: 1h ");" ile
Rick,

var MyEmails = GmailApp.search("is:unread in:inbox");
Gelen

@Rick - Gmail hesabımdaki 13 + GB’nin tamamında gezinmek için IMAP arayüzünü kullanan bir komut dosyası yazdım. Eğer script.google.com izin veriyorsa beni şaşırtmazdı.
broş

1

Sen kullanabilirsiniz deliveredto:operatöre Has the wordsbir filtre oluştururken @mvime belirtildiği gibi, bu alanda. Ancak, tüm e-posta sağlayıcıları eklenemez Delivered-toböylece daha güvenilir bir yoldur iletmek olduğunu, e-posta başlığına you@oldemail.comiçin you+oldemail@gmail.com, ve filtre olarak deliveredto:(you+oldemail@gmail.com).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.