Почтальон (fetchmail)

20.01.2003

Зачем оно надо?

После долгого использования удалённого доступа в интернет мне надоело смотреть на задумчивые почтовые клиенты, которые как будто замерзают на всё время сеанса получения почты. Чувство комфорта в работе это, естественно, не вызывало. Да и запуск каждый раз почтового клиента при доступе в сеть или лицезрение его постоянно запущенным тоже не вызывало особого удовольствия. И тут пришёл на помощь старый добрый unix-way с его дотошным разделением труда. Не надо возлагать на программу того, что она не обязана делать. Пусть этим займется программа, которая для этого предназначена. А как известно: специалист справится со своими задачами куда лучше, нежели работник широкого профиля с той же работой.

Вот тут и появляется на сцене fetchmail. Задачи программы до безобразия просты: принять почту с удалённых почтовых ящиков хозяина и положить её в системный почтовый ящик. Теперь Вам не надо задумываться о том, чтобы запустить почтового клиента строго тогда, когда компьютер войдёт в сеть. Мало того, процесс получения почты можно автоматизировать. Ваша машина без проблем может дозваниваться до провайдера в ночные часы, когда расценки на интернет дешевле, забирать почту и отключаться. Зачем лишать себя сна, если всё может сделать машина, тем более компьютеры для того и создавались, чтобы перекладывать на них работу человека. И, просыпаясь утром, Вы можете почитать свежую почту, не подключаясь к сети.

Что для этого надо?

Собственно, нам нужен сам fetchmail. Может даже не понадобится искать его в интернете и скачивать, так как он входит в состав большинства современных дистрибутивов. Как правило он разбивается на два пакета: fetchmail и fetchmail-daemon. Последний запускается как системный демон и не требует участия человека. На момент написания статьи у меня в системе стоит fetchmail версии 6.2.0.

Ближе к телу.

Конфигурационные файлы fetchmail могут находиться в двух местах: в файле /etc/fetchmailrc и в ~/.fetchmailrc. Формат этих файлов одинаков, но без пущей надобности в общесистемный лезть не стоит.

Итак, начну с простого примера. Однако этого простого примера вполне достаточно в большинстве случаев. Рассмотрим ~/.fetchmailrc:

#################################################################
set postmaster "localuser"
set daemon 600
poll mail.domain.ru with proto POP3
user 'username' there with password 'pass' is 'localuser' here option

mda procmail
################################################################

где:

  • localuser - пользователь локальной системы, которому будет складываться почта.
  • mail.domain.ru - почтовый сервер, с которого вы собираетесь забирать почту.
  • usrname - имя пользователя на почтовом сервере.
  • pass - пароль на почтовом сервере.

А теперь построчный разбор приведённого примера...

set postmaster "localuser"

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

set daemon 600

fetchmail работает в режиме демона и через указанный промежуток времени проверяет почту. Время указывается в секундах. В данном случае 600 секунд, то есть 10 минут.

poll mail.domain.ru with proto POP3

Здесь указывается с какого сервера и по какому протоколу забирать почту. Надо просто заменить mail.domain.com из примера на тот сервер, который используете Вы.

Теперь о протоколах. Fetchmail поддерживает достаточно много протоколов доступа к почтовым серверам, но в настоящее время большей частью пользуются двумя основными: POP3 и IMAP4.

user 'username' there with password 'pass' is 'localuser' here option

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

mda procmail

Эта строчка указывает, кто будет доставлять почту пользователю локально. Этим может заниматься и локальный почтовый сервер, но procmail выгодно отличается тем, что может сортировать почту для пользователя.


Нет комментариев






7 + 6 =

© 2001-2015 NLG