Có thể tạo bộ lọc Gmail hoạt động trên các tiêu đề khác ngoài Từ, Đến, Chủ đề không?


105

Tôi đã chuyển tiếp một trong những địa chỉ email thực sự cũ của mình đến Gmail. Tôi muốn tạo một bộ lọc để mọi thư đến địa chỉ cũ đó luôn được gắn nhãn đúng trong Gmail.

Tôi có thể tạo bộ lọc Gmail với "Đến:" chứa địa chỉ đó, nhưng không bắt được tất cả thư đến địa chỉ đó, chỉ có những địa chỉ được xử lý rõ ràng. Thông thường, có thư rác trong đó người khác là người nhận rõ ràng và địa chỉ cũ của tôi chỉ đơn giản là Bcc'd. Bộ lọc "Tới:" không hoạt động.

Những gì tôi muốn muốn làm là lọc trên dòng "Gửi đến:" tiêu đề. Điều đó có khả thi với Gmail hay tôi bị mắc kẹt với ba tùy chọn tiêu chuẩn là Từ, Đến, Chủ đề?


Câu trả lời:


68

Có, bạn có thể lọc bằng cách gửi đến. Chỉ cần tạo một bộ lọc mới với deliveredto:youremail@address.comtrong has the wordstrường.


Không trực quan lắm, nhưng có. Tôi nghĩ rằng hầu hết to:nên deliveredto:thực sự, để hỗ trợ BCC.
lapo

Điều này có hoạt động với các ký tự đại diện không, ví dụ, bằng cách sử dụng một địa chỉ email bắt tất cả trong deliveredto:*@mydomain.com? Tôi đang thử nó nhưng sẽ mất thời gian để kiểm tra.
Marcos

1
Lưu ý rằng bạn có thể sử dụng thanh tìm kiếm ở đầu Gmail để xây dựng tìm kiếm nâng cao của mình, sau đó nhấp vào mũi tên ở cuối thanh tìm kiếm và chọn "Tạo bộ lọc với tìm kiếm này".
Feckmore

2
Điều này không giải quyết được vấn đề cho các tiêu đề khác ngoài Giao hàng? (Nói một tìm kiếm cho các tiêu đề Tự động gửi hoặc Ưu tiên)
Gert van den Berg

2
Thật đáng ghét khi văn bản tiêu đề là "Đã phân phối:" trong khi trường "có" loại bỏ trường '-' để mang lại "được gửi đến:".
James Bowery

36

Dưới đây là danh sách tất cả các toán tử nâng cao:

từ:
đến:
chủ đề: nhãn
OR
- (gạch nối)
:
has:
danh sách đính kèm :
tên tệp:
"" (dấu ngoặc kép)
()
trong: bất cứ nơi nào
trong: inbox
in: thùng rác
trong: spam
là: quan trọng
là: starred
is: unread
is:
đã đọc : ngôi sao màu vàng có: ngôi sao
đỏ có: ngôi sao
màu cam có: ngôi sao
màu xanh lá cây
có: ngôi sao màu xanh
có: ngôi sao màu tím
có: ngôi sao màu đỏ
có: màu cam-guillroe
có: màu vàng
có: màu xanh lá cây kiểm tra
có: màu xanh-thông tin
có: màu tím câu hỏi
cc:
bcc:
sau:
trước:
cũ:
mới hơn:
older_than:
newer_than:
là: chat
deliveredto:
vòng tròn:
có: vòng tròn
loại:
kích thước:
lớn hơn:
nhỏ hơn:
+ (dấu cộng)
RFC822MSGID:
có: userlabels
có: nouserlabels

[ nguồn ]


Cảm ơn. Ngay cả các trang của họ cũng gây khó khăn trong việc xác định liệu toán tử KHÔNG -hoạt động trên các địa chỉ ký tự đại diện hay không, ví dụ: -*@mydomain.comtrong To:trường
Marcos

31
  1. truy cập https://script.google.com và tạo Tập lệnh Google Apps mới

tập lệnh ứng dụng google mới.

  1. chọn tùy chọn "Tạo tập lệnh cho Gmail"

    • điều này sẽ tạo ra một dự án kịch bản
    • điều này sẽ tạo ra một kịch bản gọi là Code.gs
    • điều này sẽ tạo ra các hàm mẫu, một trong số chúng được đặt tên processInbox
  2. lưu dự án

  3. tùy chỉnh tập lệnh và kiểm tra nó cho đến khi bạn hài lòng
  4. tìm nút "kích hoạt dự án tùy chỉnh"

    nút kích hoạt tùy chỉnh

    • điều này sẽ cho phép bạn chạy tập lệnh trên bộ đếm thời gian (ví dụ: hàng ngày hoặc mỗi phút )

Thí dụ:

processInbox

Chức năng này sẽ lặp lại trên tất cả các tin nhắn trong Hộp thư đến.

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

Đi thêm một bước nữa và gọi GmailApp.search()nếu bạn muốn làm một cái gì đó lạ mắt thay vì GmailApp.getInboxThreads().

quá trình xử lý

Chức năng này sẽ đảm nhiệm việc xử lý một tin nhắn duy nhất; bạn nhận được nội dung thô với getRawContent()và cố gắng tìm tiêu đề của bạn trong đó, nếu nó ở trong đó, hãy gắn thẻ tin nhắn.

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
Phản ứng ruột chưa được chứng minh của tôi là google sẽ có một cái gì đó để ngăn chặn người dùng lặp qua các hợp đồng nội dung email thô giá trị mỗi phút. Vì vậy, tôi khuyên bạn nên thay thế "var thread = GmailApp.getInboxThreads ();" với "var chủ đề = GmailApp.search (" mới_than: 1h ");"
Rick

Tôi đang sử dụng var MyEmails = GmailApp.search("is:unread in:inbox");để tìm kiếm tất cả email trong hộp thư đến chưa đọc
Ronen Ariely

@Rick - Tôi đã viết một tập lệnh sử dụng giao diện IMAP để duyệt qua tất cả 13 + GB trong tài khoản gmail của tôi. 'Sẽ không làm tôi ngạc nhiên nếu script.google.com cho phép nó.
broofa

1

Bạn có thể sử dụng deliveredto:toán tử trong Has the wordstrường khi tạo bộ lọc, như @mvime đã chỉ định. Tuy nhiên, không phải tất cả các nhà cung cấp email gắn Delivered-tovới tiêu đề email, do đó, một cách đáng tin cậy hơn là để chuyển tiếp you@oldemail.comđến you+oldemail@gmail.com, và lọc theo deliveredto:(you+oldemail@gmail.com).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.