Страница 1 из 1
Почтовая связка fetcmail-procmail-mutt
Добавлено: 10 фев 2005, 14:13
sanitar
Имею несколько внешних почтовых ящиков.
До сих пор пользовался thunderbird, однако к нему был ряд претензий --
1) утомительное тупое мышекликанье при настройке многочисленных фильтров
2) привязка настроек пользователя к мозилльному chrome-профилю, который имеет способность слетать без предупреждения при невежливом обращении.
3) загаживание системы лишним тяжеловесным гуем
Решил опробовать классическую связку.
Сейчас почту сгребает fetchmail в /var/spool/username, оттуда ее procmail по мере появления расколбашивает по mbox-ам, где почта читается mutt-ом.
Хотелось бы получить общие рекомендации опытных людей о том в каком направлении копать для реализации следующих задач:
1) прикрутка в цепочку spamassassina --> каким путем его наиболее правильно прикручивать, чтобы не мешать procmail-у?
2) В силу разных причин необходимо использовать несколько smarthosts для отправки мейлов, причем некоторые из них используют SMTP-авторизацию, некоторые SSL. Через какой smarthost слать --необходимо определяеть по полю From исходящего письма либо (если по другому не получится) -- руками при отсылке.
Есть ли возможность реализовать это без написания собственного MTA? Если есть, то какой MTA лучше использовать, и в какую сторону над ним трясти бубном?
Опциональные задачи на будушее
3) каким-либо образом научить fetchmail авторизовываться на хостах, где имя юзера включает @ и доменную часть
4) не качать спам-траффик. Предполагаю что для этого потребуется соорудить следующую конструкцию (если реально):
a) по POP-3 либо IMAP качаются заголовки писем
б) отдаются spamassassin-у либо аналогу
в) по POP-3 либо IMAP -соединению с сервера убиваются письма, забракованные на предыдущем шаге cпам-фильтром
г) оставшееся качается целиком и отдается procmail-у по стандартной схеме.
Добавлено: 10 фев 2005, 14:16
sanitar
В связи с тем что для реализации вышеуказанных задач требуется прочесть изрядное количество документации, буду благодарен за следующую помощь в повышении КПД данного чтения:
1) определение задач которые реализовать невозможно по определению
2) названия проверенных в деле программ, линки на хорошо зарекомендовавшую себя документацию
3) общее краткое описание возможных граблей и направления их обхода
Спасибо.
PS. Используемый дистр -- Debian Sarge
Re: Почтовая связка fetcmail-procmail-mutt
Добавлено: 10 фев 2005, 15:01
Llama
sanitar писал(а):
Опциональные задачи на будушее
3) каким-либо образом научить fetchmail авторизовываться на хостах, где имя юзера включает @ и доменную часть
Код: Выделить всё
poll nnn.mmm.by with proto POP3
user 'username@nnn.mmm.by' there with password 'password' keep
Работает без проблем.
Добавлено: 10 фев 2005, 16:22
invox
a) по POP-3 либо IMAP качаются заголовки писем
б) отдаются spamassassin-у либо аналогу
это как-то совсем извращенчески
SA нужно все тело письма, он его целиком парсит и проверяет на наличие определенных образцов. На уровне проверки только заголовков осеиваться будет очень небольшая часть
Добавлено: 10 фев 2005, 17:02
invox
2) В силу разных причин необходимо использовать несколько smarthosts для отправки мейлов, причем некоторые из них используют SMTP-авторизацию, некоторые SSL. Через какой smarthost слать --необходимо определяеть по полю From исходящего письма либо (если по другому не получится) -- руками при отсылке.
По-идее, задача проста - если есть у тебя несколько адресов, почта с которых должна уходить через разные SMTP, открой несколько account'ов в почтовом клиенте. Соответственно, на каждом из них будет указан свой сервер для отправки
Это если я правильно понял постановку задачи
PS. Идея со smarthost идеологически неверная. Это как default route, их не может быть несколько
Добавлено: 10 фев 2005, 17:11
invox
1) прикрутка в цепочку spamassassina --> каким путем его наиболее правильно прикручивать, чтобы не мешать procmail-у?
видимо, procmailrc - самое подходящее место. Пример :
Код: Выделить всё
LOGFILE=/var/log/procmail
:0fw
* < 256000
| spamc
:0e
{
EXITCODE=$?
}
:0
* ^X-Spam-Status: Yes
| /usr/sbin/sendmail -oi spam@domain.com
Это если хочешь коллекционировать образцы спама в специальном ящике
как это мешает procmail'у???
Добавлено: 10 фев 2005, 17:17
mend0za
из ~./procmailrc
:0fw: $MAILDIR/spamassassin.lock
*
| spamc
#| spamassassin --local -a
есть и новый и старый варианты использования (старый - закомментарен)
выгребание в /var/mail/$USERNAME с последующим раскладыванием - не практикую, у меня проще и страшнее:
poll mail.net with proto pop3
user 'user' there with password 'password' is 'mend0za' here options fetchall
mda 'procmail -Y -d %T'
то бишь раскладка проходит мимо mail-сервера прямо в ящики в папке ~/mail
хорошо натаскать как следует sa (см sa-learn), как на
спам, и на хорошую почту.
Обобщу:
У меня сейчас работает следующим образом:
fetchmail->sa (в серверном варианте, но настройки берёт из юзерского каталога)->procmail->папки в $HOME/mail->mutt
папки из $HOME/mail прописаны как mailbox'es в .muttrc.
отсылка - через smarthost (единый) в exim
Добавлено: 10 фев 2005, 19:18
sanitar
Llama, cпасибо. Тут подвела излишняя доверчивость к докам -- прочел в процессе освоения фетчмайла, что подобные адреса могут вызвать у него несварение... ну и не стал пробовать, начал искать костыли
PS. Идея со smarthost идеологически неверная. Это как default route, их не может быть несколько
Не спорю что дефолтный релей должен быть один. Вопрос был в том, что нужны релеи для специфических задач.
Например, для мыла которое должно бегать исключительно внутри одного почтового сервера, а наружу выходить сугубо к юзерам по SSL
Развиваю аналогию с маршрутизацией -- дефолтный маршрут наружу один, но не обязательно внутренний траффик пускать через него
Добавлено: 10 фев 2005, 20:03
sanitar
Народ, спасибо за советы по прикручиванию sa.
Маленький дурацкий вопрос по опции --fw в процмайле.
В документации на сей счет написано, что дождавшись exitcode от фильтра, и если этот экзиткод не равен нулю... фильтрованное сообщение будет считаться не прошедшим фильтр.
Куда оно дальше отправится в варианте мендозы?
в /dev/null?
Re: Почтовая связка fetcmail-procmail-mutt
Добавлено: 12 фев 2005, 04:11
tungus
sanitar писал(а):
Сейчас почту сгребает fetchmail в /var/spool/username, оттуда ее procmail по мере появления расколбашивает по mbox-ам, где почта читается mutt-ом.
Лучше по-моему использовать сразу procmail. См. параметр mda у fetchmail
sanitar писал(а):
2) В силу разных причин необходимо использовать несколько smarthosts для отправки мейлов, причем некоторые из них используют SMTP-авторизацию, некоторые SSL. Через какой smarthost слать --необходимо определяеть по полю From исходящего письма либо (если по другому не получится) -- руками при отсылке.
Есть ли возможность реализовать это без написания собственного MTA? Если есть, то какой MTA лучше использовать, и в какую сторону над ним трясти бубном?
msmtp? Он делался под mutt ( хотя можно использовать его и без mutt).
sanitar писал(а):
Маленький дурацкий вопрос по опции --fw в процмайле.
В документации на сей счет написано, что дождавшись exitcode от фильтра, и если этот экзиткод не равен нулю... фильтрованное сообщение будет считаться не прошедшим фильтр.
Куда оно дальше отправится в варианте мендозы?
в /dev/null?
Может быть :fw? Если письмо прошло фильтр, то для следующих правил в procmailrc используется вывод фильтра. Если не прошло фильтр - то дальше использутся то-что было до фильтра.
sanitar писал(а):
4) не качать спам-траффик. Предполагаю что для этого потребуется соорудить следующую конструкцию (если реально):
Так просто как уже сказали не получиться, т. к. надо ещё тело письма. Но можно использовать public spamfiltr ( типа spamtest.ru).
Добавлено: 12 фев 2005, 13:30
sanitar
thxs за дополнительные идеи...
Добавлено: 15 фев 2005, 00:12
Andrej Ramaszeuski
sanitar писал(а):Маленький дурацкий вопрос по опции --fw в процмайле.
Если утомит сражаться с procmail - попробуй посмотреть в сторону maildrop - imho много приятнее.
Добавлено: 15 фев 2005, 15:54
invox
Если утомит сражаться с procmail - попробуй посмотреть в сторону maildrop - imho много приятнее.
По-моему, так тот же геморрой, только другого вида.
Да, язык управления потоками другой, но функционал не впечатляет.
Попробуйте поработать, отлаживая свой скрипт и поймете о чем я.
Иногда проще свой обработчик на perl написать. IMHO
Добавлено: 07 мар 2005, 14:49
sanitar
М-м-м... еще вопросик насчет sa.
Смущало меня, что в спамные письма не добавляется никаких заголовков при фильтрации.
И вообще реакция spamc незаметна.
Делаем следующее:
Вводим в .procmailrc строку
| spamc -R >> spamtest.txt
Берем в mutt заведомый спам
| sa-learn --spam
| procmail -Y -d sanitar
Берем заведомый ham
| sa-learn --ham
| procmail -Y -d sanitar
В обоих случаях в файл spamtest добавляются строки "0/0"
Т.е. ни одно ни другое письмо sa спамом не считает.
Хотя обучается нормально -- когда пайпишь sa-learn письмо в первый раз, он сообщает что обучился на 1 месседже, второй раз -- что обучился на 0 месседжей.
Вопрос -- в какую сторону собака порылась?
Добавлено: 07 мар 2005, 15:20
sanitar
Мой вариант лечения такой -- фильтруем мыло через сам spamassassin, без spamc.
ассассин прекрасно отрабатывает свою задачу -- упаковывает спамовое письмо аттачем, и ставит ему спамстатус yes.
И следующим правилом мыло с "X-spam-status: Yes" щвыряем в отстойник, который изредка просматриваем в поисках случайных жертв, и периодически удаляем целиком.