Использование fetchmailconf

Использование fetchmailconf

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

В состав большинства версий Linux программа fetchmailconf входит как отдельный пакет. Поэтому, если вы хотите обеспечить в такой системе выполнение программы Fetchmail и ее настройку с помощью специального инструмента, вам придется установить два пакета. Как программа X Window, построенная на базе Tcl/Tk, fetchmailconf требует наличия дополнительных библиотек. После инсталляции Fetchmail и сопутствующих программ необходимо установить требуемую конфигурацию. Для этого выполните следующие действия.

1. Зарегистрировавшись как обычный пользователь, введите в окне xterm команду fetchmailconf. В результате вы увидите окно Fetchmail Launcher, в котором содержатся кнопки, предназначенные для настройки, тестирования, запуска Fetchmail и завершения работы.

На заметку

Конфигурировать и запускать Fetchmail может также пользователь root, но ему не предоставляются никакие преимущества по сравнению с другими пользователями. Поэтому, для того, чтобы уменьшить риск, который неизбежен при регистрации под именем root, лучше зарегистрироваться для работы с Fetchmail как обычный пользователь. (Если в защите Fetchmail обнаружатся недостатки, то, работая с данной программой как root, вы создаете угрозу для безопасности всей системы в целом.) Зная необходимые пароли, любой пользователь может получать почту, предназначенную для других пользователей. В некоторых ситуациях подобная конфигурация может быть оправданной, но в большинстве случаев желательно настраивать Fetchmail так, чтобы пользователь имел доступ только к своим письмам.

2. Щелкните на кнопке Configure Fetchmail в окне Fetchmail Launcher. На экране отобразится окно Fetchmail Configurator, в котором вы сможете указать, предпочитаете ли вы использовать средства, ориентированные на начинающего или на опытного администратора. Конфигурация, предназначенная для начинающего, позволяет использовать лишь подмножество тех опций, которые представляются опытному администратору. При изложении материала данного раздела я в основном буду ориентироваться на расширенный набор опций, поступающих в распоряжение более квалифицированного администратора.

3. Щелкните на кнопке Expert Configuration в окне Fetchmail Configurator. Программа выведет диалоговое окно Fetchmail Expert Configurator, показанное на рис. 11.2. Если вы собираетесь запускать Fetchmail в режиме демона, введите в поле Poll Interval интервал между последовательными обращениями к серверу, выраженный в секундах (например, 1200 секунд соответствуют 20 минутам). Если вы хотите, чтобы программа Fetchmail выполнялась в пакетном режиме, оставьте в этом поле значение по умолчанию, равное 0. В поле Postmaster указывается имя пользователя, которому следует сообщать о проблемах, возникших в процессе работы Fetchmail. По умолчанию принимается имя пользователя, который запустил данную программу. Большинство опций, расположенных в средней части окна, можно оставить без изменений. Щелкнув на кнопке Help, вы получите информацию об их назначении.

Рис. 11.2. Диалоговое окно Fetchmail Expert Configurator позволяет задавать глобальные опции и указывать почтовый сервер, к которому программа Fetchmail должна обращаться для получения почты

4. Наиболее важный компонент окна Fetchmail Expert Configurator — панель, расположенная в нижней его части. С помощью этой панели вы можете задать имя почтового сервера, с которого собираетесь получать почту. Введите имя узла, и после нажатия клавиши <Enter> отобразится новое диалоговое окно Fetchmail Host Имя_узла (рис. 11.3). Заданное вами имя должно также появиться в списке, расположенном в окне Fetchmail Expert Configurator ниже поля New Server. Если вы собираетесь получать почту с нескольких серверов, вам надо ввести их имена, но задать имя следующего сервера можно лишь после установки всех конфигурационных параметров для предыдущего сервера.

Рис. 11.3. Информация о сервере получения почты задается в диалоговом окне Fetchmail Host Имя_узла

5. Наиболее важными в окне Fetchmail Host Имя_узла являются разделы Protocol, User Entries for Имя_узла и Security. В разделе Run Controls задаются опции, определяющие временные соотношения при получении почты, и имя сервера (если оно отличается от введенного ранее). В области Multidrop Options указываются правила, используемые при дублировании или перенаправлении сообщения. Конкретное решение принимается на основании анализа указанных в этом разделе полей заголовка. Данный раздел используется в том случае, если надо обеспечить распределение писем, приходящих на одну учетную запись, однако в некоторых случаях, например при участии в списке рассылки, такое распределение может привести к возникновению проблем.

6. В разделе Protocol окна Fetchmail Host Имя_узла надо указать протокол получения почты. По умолчанию предполагается значение Auto; такая установка обеспечивает работу с некоторыми серверами, но если вы знаете, какой протокол поддерживается на сервере, желательно указать его явно. Для проверки протокола можно воспользоваться кнопкой Probe for Supported Protocols, но средства, активизируемые с ее помощью, не всегда работают корректно. Лучше запросить необходимую информацию у провайдера или провести сеанс вручную, используя клиентскую программу telnet. Примеры такого использования telnet были приведены в листингах 11.1 и 11.2.

7. Средства, доступные посредством раздела Security, особенно важны в тех случаях, когда взаимодействие с сервером получения производится по коммутируемой линии, причем эта линия не всегда активна. В поле Interface to Monitor введите имя интерфейса, например ppp0. Это заставит Fetchmail опрашивать сервер только в том случае, если с момента прошлого опроса интерфейс был использован другой программой. Информация, задаваемая в поле IP Range to Check Before Poll, используется для того, чтобы программа могла проверить, связан ли IP-адрес с указанным интерфейсом. Введите в данном поле IP-адрес и маску подсети, разделив их символом /; в результате Fetchmail будет опрашивать сервер лишь тогда, когда с устройством связан адрес, принадлежащий заданному диапазону. Например, если для интерфейса ppp0 указан адрес 172.20.0.0/255.255.0.0, то Fetchmail будет опрашивать сервер, только если интерфейсу ppp0 будет соответствовать один из адресов сети 172.20.0.0/16.

8. В разделе User Entries for Имя_узла есть поле New User. Введите в нем имя, под которым вы зарегистрированы на почтовом сервере. После нажатия клавиши <Enter> отобразится окно Fetchmail User Имя_пользователя Querying Имя_узла (рис. 11.4). Как и при указании имени сервера, следующую учетную запись вы можете указать только после завершения работы с этим окном.

Рис. 11.4. Многие опции Fetchmail определяют работу с конкретными учетными записями на почтовом сервере

9. Наиболее важным элементом в окне Fetchmail User Имя_пользователя Querying Имя_узла является поле Password в разделе Authentication. Информация, задаваемая в этом поле, необходима для получения почты с сервера. Следует убедиться, что в поле Local Names перечислены все локальные пользователи, которые должны получать письма посредством данной учетной записи. По умолчанию предполагается, что локальное имя совпадает с именем на сервере; при необходимости вы можете задать другое имя. Раздел Forwarding Options позволяет указать узел для передачи почты. По умолчанию в качестве такого узла используется локальная система, но с помощью Fetchmail можно также организовать получение писем с одного узла и передачу их на другой узел. Опции в разделах Forwarding Options, Processing Options и Resource Limits используются редко, и назначение большинства опций понятно из их названий. При первом запуске Fetchmail целесообразно установить флажок опции Suppress Deletion of Messages After Reading в разделе Processing Options, чтобы исключить риск потери писем вследствие некорректной работы Fetchmail. После того как вы убедитесь, что программа работает корректно, опцию можно отключить. В разделе Remote Folders указываются папки IMAP, которые программа Fetchmail проверяет, помимо папки INBOX.

Внимание

Пароли, используемые для получения почты, Fetchmail хранит в незакодированном виде в конфигурационном файле .fetchmailrc. Программа Fetchmail не будет запускаться, если права доступа заданы менее строго, чем 0600 (rw-------), тем не менее, некоторая угроза безопасности системы все же сохраняется. Поэтому пароли, используемые для получения почты, не должны применяться в других целях, даже для регистрации на том же компьютере, с помощью той же учетной записи.

10. Щелкните на кнопке OK в окне Fetchmail User Имя_пользователя Querying Имя_узла, а затем на такой же кнопке в окне Fetchmail Host Имя_узла. Для того чтобы установки сохранились в файле .fetchmailrc, надо щелкнуть на кнопке Save в окне Fetchmail Expert Configurator.

11. Для того чтобы проверить конфигурацию программы, щелкните на кнопке Test Fetchmail в окне Fetchmail Launcher. В результате программа Fetchmail будет запущена в режиме отладки, т.е. вы увидите команды, которые данная программа передает серверу получения и серверу передачи почты, а также ответы этих серверов. Эта информация позволяет выявить и устранить проблемы, возникающие при работе Fetchmail. Убедившись в работоспособности программы, завершите ее работу щелчком на кнопке Quit.

Внимание

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

Во многих случаях средства настройки, предоставляемые fetchmailconf, достаточны для решения задач, связанных с обработкой почты. В частности, эта программа позволяет организовать получение почты с одной или нескольких учетных записей и доставить ее локальным пользователям. Некоторые администраторы предпочитают вручную редактировать конфигурационный файл. Это позволяет быстро внести необходимые изменения или реализовать сложные конфигурации Fetchmail. Независимо от того, какой способ вы изберете для настройки данной программы, знание формата .fetchmailrc будет полезно для вас.