Родерик Смит - Сетевые средства Linux
• Courier. Продукт Courier (http://ww.courier-mta.org) реализует функции серверов POP, IMAP и SMTP. Серверы Courier POP и IMAP доступны в виде отдельного пакета Courier-IMAP (http://www.inter7.com/courierimap/). Эти серверы используют формат maildir.
• QPopper. Несмотря на свое название, данный пакет (httр://www.eudora.com/qpopper/) не имеет никакого отношения к SMTP-серверу qmail. QPopper 3.0 распространялся на коммерческой основе. Версия 4.0 данного продукта доступна бесплатно в исходных кодах. QPopper использует формат mbox. QPopper 4.0 поддерживает работу через SSL-соединение.
• qmail-pop3d. Данная программа поставляется с сервером qmail (http://www.qmail.org) и использует формат maildir. Если вы решили использовать в качестве SMTP-сервера qmail, имеет смысл установить qmail-pop3d для поддержки протокола POP.
Здесь приведена информация лишь о незначительной части продуктов, реализующих обмен по протоколу POP. На сервере http://www.sourceforge.net можно найти большое количество серверов POP, многие из которых входят в состав пакетов, поддерживающих IMAP, SMTP и другие протоколы. В комплекте со многими версиями поставляется UW IMAP, а некоторые дистрибутивные пакеты включают также Cyrus, QPopper и другие продукты.
Инсталляция и настройка сервера POP
Как правило, серверы POP запускаются с помощью суперсервера (вопросы использования суперсерверов рассматривались в главе 4). При инсталляции некоторых серверов автоматически устанавливается конфигурация xinetd. He исключено, что для запуска сервера вам придется вручную отредактировать файл /etc/inetd.conf. Для того чтобы сервер POP начал обрабатывать поступающие запросы, необходимо перезапустить inetd или xinetd. Если используемый вами сервер POP не входит в состав дистрибутивного пакета, вам следует прочитать документацию на данный продукт. Это позволит избежать возникновения проблем.
По умолчанию UW IMAP и большинство других серверов POP полагаются на результаты выполнения стандартной процедуры аутентификации Linux. Поэтому, чтобы сервер обслуживал пользователей вашей системы, не надо принимать никаких специальных мер. Если для пользователя создана учетная запись и если сервер SMTP получает его корреспонденцию, сервер POP будет доставлять письма на удаленный компьютер. Пользователю лишь необходимо указать в клиент-программе POP свое имя и пароль. Поскольку действия, выполняемые сервером POP, чрезвычайно просты, в большинстве программ специальный конфигурационный файл не используется.
Обеспечение работы по протоколу IMAP
Серверы IMAP инсталлируются и настраиваются практически так же, как и серверы POP. Как было сказано ранее, продукт UW IMAP поставляется с большинством дистрибутивных пакетов Linux, кроме того, в состав некоторых систем включаются и другие серверы. Действия по настройке обычно сводятся к изменению конфигурации и перезапуску суперсервера.
Серверы IMAP для Linux
Многие из пакетов, сведения о которых были приведены в предыдущем разделе, в частности UW IMAP, Cyrus IMAP и Courier, обеспечивают также работу сервера IMAP. В 2002 г. в стадии разработки находился ряд проектов по созданию серверов IMAP, но реально работающий код еще не был доступен. Информацию об этих проектах можно найти на сервере http://www.sourceforge.net. Некоторые из них направлены на решение совершенно экзотических задач, например, просмотр содержимого Web средствами IMAP.
Наиболее популярный сервер для Linux, UW IMAP, использует для организации большинства почтовых папок рабочие каталоги пользователей. Если пользователь время от времени регистрируется и работает на этом компьютере, такое решение нежелательно, так как пользователь может непреднамеренно удалить или переместить каталоги с папками. (Местоположение папок можно изменить; для этого надо модифицировать исходный код программы и перекомпилировать ее. Соответствующие действия описаны в файле CONFIG, входящем в состав документации на данный продукт.) Cyras IMAP хранит все папки в собственном формате. Исключением является лишь папка, которая содержит входящие сообщения; она представлена в формате mbox.
Инсталляция и настройка сервера IMAP
В состав большинства версий Linux входит продукт UW IMAP, соответствующий пакет обычно носит имя imap. При инсталляции этого пакета сервер IMAP будет настроен для запуска посредством суперсервера. При работе UW IMAP полагается на результаты стандартной процедуры аутентификации Linux, поэтому каждый пользователь, имеющий учетную запись на компьютере, может получать почту средствами IMAP. Для большинства серверов IMAP специальные конфигурационные файлы не предусмотрены, так как действия, выполняемые этими серверами, чрезвычайно просты.
Использование Fetchmail
Fetchmail — не совсем обычная программа. Она не является ни программой просмотра почты, ни почтовым сервером, но в то же время сочетает элементы их обоих. Fetchmail извлекает письма с сервера получения и передает их другой программе; чаще всего Fetchmail взаимодействует с сервером передачи почты и перенаправляет полученные письма локальным пользователям. Программу Fetchmail можно сконфигурировать для выполнения различных задач, более того, редактируя конфигурационный файл .fetchmailrc, ее можно настроить с учетом интересов конкретных пользователей. Существует инструмент с графическим интерфейсом fetchmailconf, специально предназначенный для настройки Fetchmail. Он предоставляет возможность сконфигурировать данную программу для выполнения различных задач.
На заметкуПредыдущие разделы были посвящены организации работы сервера получения почты. Программа Fetchmail взаимодействует с уже работающим сервером получения.
Участие Fetchmail в процессе доставки почты
Протоколы получения почты были разработаны для того, чтобы обеспечить клиентским почтовым программам возможность извлекать сообщения с почтового сервера. Считается, что компьютер, на который приходят почтовые сообщения, работает постоянно и на нем выполняется сервер передачи почты. В отличие от сервера, время работы компьютера, на котором установлена клиентская программа, не определено, кроме того, его IP-адрес может изменяться от одного сеанса работы к другому. Возможны ситуации, при которых возникает необходимость извлечь почту с помощью протокола получения, а затем возобновить ее передачу посредством другого сервера. Подобные ситуации описаны ниже.
• Компьютер под управлением Linux, подключенный к Internet по коммутируемой линии. В большинстве случаев на компьютере Linux, даже если он подключен к Internet через PPP-соединение, присутствует почтовый сервер. Этот локальный сервер позволяет организовать обмен письмами между несколькими локальными пользователями или передавать пользователям сообщения, сгенерированные системой. Для того чтобы интегрировать эти сообщения с письмами, которые приходят на сервер провайдера, надо извлечь письма с помощью протокола POP или IMAP и включить их в очередь локального почтового сервера. В результате пользователь получает возможность читать все сообщения (как локальные, так и удаленные) с помощью одной программы; при этом он избавлен от необходимости обращаться к серверу посредством протокола POP или IMAP.
• Локальная сеть, подключенная к Internet по коммутируемой линии. В небольших компаниях компьютеры часто объединяют в локальную сеть, которая, помимо выполнения других задач, позволяет организовать обмен почтовыми сообщениями между пользователями. Подобная сеть может быть подключена к Internet по коммутируемой линии; при этом письма, адресованные пользователям локальной сети, доставляются на сервер провайдера. Администратору локальной сети приходится решать задачу получения писем и перенаправления их на пользовательские компьютеры в пределах локальной сети.
• Получение почты, приходящей по нескольким адресам. Если у вас есть несколько учетных записей, на которые приходят письма, вы можете автоматизировать процесс получения корреспонденции. Работая на компьютере под управлением Linux, подключенном к Internet по коммутируемой линии, вы можете использовать протокол получения почты для того, чтобы собрать письма из нескольких источников и перенаправить их на одну учетную запись. (Эта учетная запись может располагаться как на локальном, так и на удаленном компьютере.) Альтернативным решением данной проблемы является организация перенаправления почты на тех серверах, на которые она поступает, либо использование почтовой программы, опрашивающей различные учетные записи.
• Использование одного почтового ящика несколькими абонентами. Бывают случаи, когда на одну учетную запись приходят письма, адресованные нескольким пользователям. Если существуют правила, позволяющие рассортировать письма, вы можете сделать это, используя средства фильтрации Fetchmail (либо реализовать фильтрацию посредством отдельной программы) и разместить сообщения в отдельных очередях.