Возможно ли создать фильтр Gmail, который работает с заголовками, отличными от From, To, Subject?
Я отправил один из моих действительно старых адресов электронной почты в Gmail. Я хотел бы создать фильтр, чтобы любая почта на этот старый адрес всегда помечена должным образом в Gmail.
Я могу создать фильтр Gmail с именем «To:», содержащим этот адрес, но это не вызывает письма all на этот адрес, только те, которые явно адресованы. Часто есть спам, где кто-то еще является явным получателем, а мой старый адрес был просто Bcc'd. Фильтр «Кому:» не работает.
То, что мне было бы нравится , - это фильтр в заголовке «Поставлен-To:». Возможно ли это с Gmail или я придерживаюсь трех стандартных вариантов From, To, Subject?
4 ответа
Да, вы можете фильтровать по доставке. Просто создайте новый фильтр с deliveredto:[email protected]
в поле has the words
.
Вот список всех расширенных операторов:
от:
в:
Заголовок:
ИЛИ
- (дефис)
метка:
имеет: прикрепление
Список:
Имя файла:
"" (цитаты)
()
в: где угодно
в: Входящие
в: мусорный
в: спам
это: важно
является: звёздный
это: непрочитанные
является: прочитать
имеет: желто-звезда
имеет красно-звезда
имеет: оранжево-звезда
имеет: зелено-звезда
есть: сине-звезда
имеет: пурпурно-звезда
имеет красно-бах
имеет: оранжево-guillemet
имеет: желто-бах
есть: зеленый проверка
имеет: синий-инфо
имеет: фиолетовый вопрос
куб.см:
ОЦК:
после того, как:
раньше:
старше:
новее
older_than:
newer_than:
это: чат
DeliveredTo:
круг:
имеет: круг
категория:
Размер:
больше:
меньше:
+ (плюс знак)
rfc822msgid:
имеет: userlabels
имеет: nouserlabels
[ источник ]
- перейдите на страницу https://script.google.com и создайте новый скрипт Google Apps.
-
выберите опцию «Создать скрипт для Gmail»
- это создаст проект сценария
- это создаст скрипт под названием
Code.gs
- это создаст примерные функции, один из которых называется
processInbox
-
сохранить проект
- настроить скрипт и проверить его до тех пор, пока вы не удовлетворитесь
-
найдите кнопку «триггеры пользовательского проекта»
- это позволит вам запускать скрипт по таймеру (например, ежедневно или каждую минуту )
Пример:
processInbox
Эта функция будет перебирать все сообщения в папке «Входящие».
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);
}
}
}
Перейдите еще на один шаг и вызовите GmailApp.search()
, если вы хотите сделать что-то необычное вместо GmailApp.getInboxThreads()
.
ProcessMessage
Эта функция будет обрабатывать одно сообщение; вы получаете исходный контент с помощью getRawContent()
и пытаетесь найти свой заголовок там, если он там, отметьте сообщение.
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)
}
}
Вы можете использовать оператор deliveredto:
в поле Has the words
при создании фильтра, как указано в @mvime. Однако не все поставщики электронной почты добавляют Delivered-to
к заголовку электронной почты, поэтому более надежным способом является пересылка [email protected]
в [email protected]
и фильтровать по deliveredto:([email protected])
.