Переместить электронные письма с Procmail, если он совпадает с отправителя

StackOverflow https://stackoverflow.com/questions/3976716

  •  09-10-2019
  •  | 
  •  

Вопрос

Как я использую разные клиенты электронной почты для чтения / отправки моих почты, я хочу настроить Procmail, чтобы переместить мои электронные письма в папку, которая обычно выполняется функцией фильтра Thunderbird.

Я знаю, что я могу сделать это, используя следующий код для Procmail в моих почтовых пользователей .procmailrc Файл:

:0:
* ^From:.test@host.name.com
myfolder

Но у меня есть список около 50 адресов электронной почты, которые я хотел бы перейти к тому конкретному «MyFolder».

Так, используя

:0:
* ^From:.first@mail.com
* ^From:.second@mail.com
jimsmail

не помогает, потому что Procmail интерпретирует их, используя и Operator. Таким образом, код выше будет правдой, если из первого @ ... и второй @ ..., который никогда не будет правдой.

Так как я могу использовать или оператор.

На самом деле у меня есть простой текстовый файл, где все адреса электронной почты. Было бы здорово иметь функцию, где Procmail готовится в этом файле и проверяет, если из спичек по меньшей мере одной из строк в файле, по электронной почте Moves To Moving Flays.

Что-то вроде

 :0:
 * ^From:file(email.txt)
 myfolder

Есть ли в любом случае, если это или что-то подобное возможно. Я не хочу добавлять эти 3 строки 50 раз в моем файле procmailrc.

Это было полезно?

Решение 2

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

Код в моем .Procmailrc выглядит следующим образом:

EMAILFILE=/path/to/my/emailfile
FROM=`formail -xFrom: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`
:0
* ? fgrep -qxis $FROM $EMAILFILE
myfolder

Другие советы

Procmail использует REGEXPS, так что вы можете разделить адреса с | символ.

:0:
* ^From:.((first|second|third)@mail.com|(fourth|fifth)@othermail.com)
myfolder

должно сработать. Может быть немного грязным с пятьдесят всех на одной линии, разум ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top