Переместить электронные письма с Procmail, если он совпадает с отправителя
Вопрос
Как я использую разные клиенты электронной почты для чтения / отправки моих почты, я хочу настроить 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
должно сработать. Может быть немного грязным с пятьдесят всех на одной линии, разум ...