Как объединить правила фильтрации в фильтрах сообщений в Thunderbird, чтобы создать более продвинутые критерии фильтрации?

в Thunderbird можно выбрать либо матч все следующие или матч следующие для заданного набора правил фильтрации. Там нет никакого способа, чтобы смешать или и и логические операторы свободно создавать более сложные критерии, такие как ((A и B) или (C и D)) и E.


Есть ли плагин, позволяющий достичь вышеуказанного?

1
задан Cfinley
07.05.2023 6:32 Количество просмотров материала 2448
Распечатать страницу

4 ответа

Мне нужно было отфильтровать кучу разных предметов, исходящих от одного человека, поэтому мое решение было таким:

  1. добавил фильтр, чтобы соответствовать любому из следующих, и добавил любой из предметов, которые я хотел.
  2. действие, которое я установил его для выполнения, чтобы установить приоритет наименьшим.
  3. затем я добавил новый фильтр, чтобы соответствовать всем следующим: приоритет самый низкий, и от содержит (адрес электронной почты, который я хотел отфильтровать от).
  4. действие я поставил переместить в определенную папку.

одна вещь, которую вы должны убедиться в том, что первый файлер находится выше в списке, так что он выполняется в первую очередь. Я знаю, что это не самое элегантное решение, но его можно расширить в соответствии с вашими потребностями.

5
отвечен Angel Delgado 2023-05-08 14:20

Я не могу найти хорошее расширение для этого, но панель быстрого поиска будет работать так же хорошо, если вы просто ищете в одной папке.

например-если бы я хотел создать критерии для всех сообщений от Томми и Билли, но не те, с Fwd в теме, а также сообщения от Сандры в том числе вперед я бы настроить поиск (с помощью панели быстрого поиска с его набором для поиска по выражению):

(от:Томми или от:Билли) и - тема: Fwd) или (от:Sandra)

однако при наличии нескольких папок это невозможно.

J

3
отвечен JDB 2023-05-08 16:37

С FiltaQuilla и некоторыми действиями/правилами javascript это выполнимо. Тем не менее, вот он пример с некоторыми изменениями к источнику FiltaQuilla таким образом, чтобы упростить процесс.

пример здесь будет делать три этапа фильтрации: маркировка-это только классифицирует сообщения электронной почты. Затем изменение-это делает некоторые логические вычисления и изменяет тему или заголовки электронной почты. И, действие - выполнить действие. Каждый из этапов будет включать в себя редактирование фильтров в Thunderbird диалоговое окно фильтра обычно, но с добавленными параметрами FiltaQuilla. Этап 1 и 2 сохраняют свои результаты в недавно добавленном поле заголовка электронной почты, а Этап 2 и 3 используют результаты в поле для выполнения некоторой логики перед обычными действиями.

действия:

Установить FiltaQuilla

похоже, многие функции работают только с Thunderbird 3.1. Таким образом, сначала обновите TB 3.1. Затем установите FiltaQuilla.

на вкладке настроек FiltaQuilla включите " суффикс к теме", и"Javascript Action".

Изменить FiltaQuilla Источник

изменить "filtaquilla@mesquilla.com/content/filtaquilla.js" в директории расширения так, чтобы она выглядела так:

// Suffix to subject
self.subjectSuffix =
{
  ...
  apply: function(aMsgHdrs, aActionValue, aListener, aType, aMsgWindow)
  {
    for (var i = 0; i < aMsgHdrs.length; i++)
    {
      var msgHdr = aMsgHdrs.queryElementAt(i, Ci.nsIMsgDBHdr);
      ////var appSubject = _mimeAppend(aActionValue, msgHdr.subject, false);
      ////msgHdr.subject = appSubject;
      var headerName = "mykeywords";
      var headerValue = msgHdr.getStringProperty(headerName);
      msgHdr.setStringProperty(headerName, headerValue + " " + aActionValue);
      headerValue = msgHdr.getStringProperty(headerName);
        // Cu.reportError("chg : " + headerName + " : " + headerValue);
    }
  },

код изменяет исходное действие "Suffix to Subject" на то, что он добавит суффиксные строки в новый заголовок с именем "mykeywords". Это новое поле заголовка будет использоваться для сохранения результата первых двух этапов фильтрации в виде строковых слов.

это изменение исходного кода для повторного использования действия "суффикс", так как обычно суффикс к теме не очень полезно. Таким образом, повторное использование его внутренних кишок не повлияет на удобство использования FiltaQuilla. Если вы этого не сделаете, официальный запрос функции должен быть отправлен в FiltaQuilla creator, чтобы добавить функцию, которую вы хотите, или вам нужно будет написать немного больше кода Javascript в условии фильтра в качестве условия Javasctipt.

создать правила фильтрации для маркировки

An например, чтобы создать серию правил, у каждого будет только одно действие: "суффикс к теме", но суффиксные слова будут определять, какой результат он получил. Например, классифицируйте электронные письма по месту их происхождения с помощью суффиксов "company-A", "company-B",..., п. Помните, что эти слова "компания-а", "компания-Б" и др., будет объединено в поле заголовка "mykeywords".

поместите эти правила в начало списка правил фильтрации.

создать Правила фильтрации для логической модификации

в поле заголовка правила фильтра-поле, используйте "настроить", чтобы добавить "mykeywords" в список. Затем выберите "mykeywords содержит компанию -" для условия в диалоговом окне фильтра.

выберите "действие Javascript" в разделе действие. Добавьте следующий код:

for (let index = 0; index < msgHdrs.length; index++)
{
  let hdr = msgHdrs.queryElementAt(index, Ci.nsIMsgDBHdr);
  let s = hdr.getStringProperty("mykeywords");
  let v = s.split("company-"); /* result words are in v[] now */
  let r = ""; /* logic conversion result */
  let cnt = 0;
  if ( v != undefined && v.length != undefined && v.length > 0) {
    let lastVN = 0;
    for(var i=v.length -1; i>=0; i--) {
      let ss = v[i];
      if ( ss.length > 1 ) {
          ss = ss.substring(0);
          /* convert company A into VIP, B into NORMAL, C into IGNORE. 
           * Assume the marking section starts with A,B, then C thus 
           * C gets parsed first, then A and B. 
           */
          if (ss.search(/A/) == 0)  { ss = "V"; lastVN = 1; } /*VIP*/
          else if (ss.search(/B/) == 0 ) { ss = "N"; lastVN = 1; } /*NORMAL*/
          else if (ss.search(/C/) == 0   ) { ss = "IGNORE"; }
          /* prepend subject line */
          if ( cnt == 0 ) { r = ss + "] ";
          } else { if (lastVN == 0) r = ss + " " + r; else  r = ss + r;  }
          cnt ++;
      }
    } /* for(var i=v.length -1; */
    if ( cnt > 0 ) { r = "[" + r; }
  } /* if ( v != undefined && */
  hdr.subject = r + hdr.subject;
} /* for (let index = 0; */

на данный момент, все результаты маркировки могут быть доступны скриптом из поля заголовка "mykeywords". Просто разобрать строку, то любая логика может быть применена после парсинг для достижения логического результата, который вам нравится. Например, вы можете подать заявку, если "A" и "B", добавить "result-AB" в "mykeywords" и т. д. Затем на следующем этапе проверьте "mykeywords содержит result-AB" для фактического значения "A и B".

в приведенном выше примере также показано, что "[VN IGNORE]" можно добавить к строке темы, чтобы указать, какая из трех компаний участвовала в теме сообщения.

создать правила фильтрации для Action

теперь создать правило действия на основе значений, содержащихся в "mykeywords". Это будут просто обычные настройки.

Примечания:

FiltaQuilla поддерживает javascripts в разделе условие. Таким образом, если вы не хотите изменять исходный код расширения, вам нужно написать немного больше кода в разделе условие диалогового окна фильтр. С помощью этого кода также можно выполнять любые логические вычисления.

проверить сайт FiltaQuilla для гораздо больше информации.

2
отвечен minghua 2023-05-08 18:54

может быть, вы могли бы использовать теги для каждого подпункта выражения. если ((от:Томми или от:Билли), то тег с тегом "TomAndBilly". Затем фильтр ищет не тему: Fwd и tag TomAndBilly. Я не пробовал это, я думаю, что это не будет работать, если ТБ не будет фильтровать более одного раза. Может быть, вы также можете заставить его идти более одного раза, подпрыгивая почту в разные папки или даже учетные записи (но тогда он начинает получать действительно некрасиво).

Я слышал, что лучше мечения в ТБ3, но это не видно в интерфейсе.

1
отвечен Sam Brightman 2023-05-08 21:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх