div.main {margin-left: 20pt; margin-right: 20pt}Настраиваем почтовик.
Для начала небольшое отступление
SMTP - Simple Mail Transfer Protocol
- сервис в сетях TCP/IP для передачи сообщений (т.е. почты). Обычно
для SMTP используется 25-ый порт (см. файл /etc/services)
POP - Post Office Protocol -
используется для получения почты с сервера. Порт по умолчанию - 110
(для протокола POP3)
Сейчас я попробую объяснить, как
настроить небольшой почтовый сервер, использующий POP3 и SMTP
Для начала установим необходимый
софт. Нам понадобятся sendmail и imap. Если вы используете
RH-совместимую версию Linux, вам потребуется установить
соответствующие пакеты. Я
использую sendmail-8.11.0 imap-4.7c2
Прежде, чем приступить к настройке
sendmail, вам необходимо правильно настроить DNS, иначе эта
программа буде работать некорректно (хотя можно настроить sendmail
для работы без использования dns).
Произведем базовую настройку
sendmail. Для этого нужно запустить утилиту netconf. Она
работает как из-под Х, так и из-под консоли. Утилита netconf есть
в RH, Mandrake - насчет других версий я точно не знаю. (ее нет в KSI
Linux). Естественно, вы должны быть зарегистрированы в системе под
root'ом
Выберите в меню Mail delivery
system, затем Basic sendmail configuration В поле
Present your system as просто введите свое доменное имя Затем
отметьте флажок Accept email for ... Протокол отправки
сообщений установите в smtp (Mail gateway protocol)
Этой информации уже вполне
достаточно, чтобы ваш sendmail функционировал. Вы можете
установить дополнительные опции программы sendmail с
помощью netconf. Если у вас нет программы sendmail, вы получите
незабываемое удовольствие от ручного редактирования файла
/etc/sendmail.cf - в нем хранятся настройки) :)
Теперь сделаем так, чтобы sendmail
принимал почту только с разрешенных адресов. Для этого даже не
нужно настраивать сам sendmail - нужно только подправить файлы
/etc/hosts.allow и /etc/hosts.deny В первом из них содержится
список хостов, которым разрешен доступ к этой машине, а во втором
- запрещен. Обратите внимание: несмотря на
название (разрешен|запрещен), ограничения, которые
устанавливаются первым файлом намного строже.
Пример. Для запрещения доступа всем
хостам, кроме компьютеров вашей сети в файл /etc/hosts.allow
добавьте строку '192.168.1. Здесь имеется в виду, что сеть
имеет адрес 192.168.1.0 и маску 255.255.255.0 Более подробно о
формате файлов hosts.allow и hosts.deny вы можете
прочитать, введя команду man /etc/hosts.allow
Для того, чтобы принимать почту
только со "своих" доменов, нужно добавить в mc-файл (обычно
/etc/mail/sendmail.mc) следующие строки (используйте табуляцию, а
не пробелы) LOCAL_CONFIG FR-o /etc/sendmail.cR
LOCAL_RULESETS Scheck_rcpt #
anything terminating locally is ok R< $+ @ $=w
> $@
OK R< $+ @ $=R
> $@
OK
# anything originating locally is
ok R$*
$: $(dequote "" $&{client_name}
$) R$=w
$@
OK R$=R
$@
OK R$@
$@ OK
# anything else is
bogus R$*
$#error $: "550 Relaying Denied"
Теперь создайте файл
/etc/sendmail.cR и введите в него имена "своих" доменов - по
одному в каждой строчке. Только на эти домены почтовик сможет
получать почту - все остальные получат сообщение 550 Relaying
Denied
Теперь настала очередь POP3. После
установки пакета imap у вас практически все настроено, т.е. я
хочу сказать, что уже можно проверять конфигурацию.
Для начала перезапустите демон
inetd После его перезапуска сервисы sendmail и popd будут
активированы (точнее один sendmail, а popd вызывается по мере
необходимости)
Попробуйте сделать
следующее: введите telnet <имя_только_созданного_почтовика>
25 Вы должны увидеть примерно следующее: Trying 192.168.1.1
... Connected to 192.168.1.1 Escape character is '^]' 220
de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Sun, 17 Jun 2001
10:54:22 +300
Это означает, что sendmail работает,
осталось проверить насколько правильно :)
Вводим mail from:
me@my.host.com 220 2.1.0 me@my.host.com .... Sender
Ok rcpt to: den@den.dhsilabs.com 220 2.1.5
den@den.dhsilabs.com .... Recipient Ok Теперь вводим data, потом
текст сообщения, для окончания ввода ставим точку в пустой
строке
Sendmail сообщит, что сообщение
отправлено (точнее помещено в очередь на отправление)
den@den.dhsilabs.com -имя
пользователя, которому я отправляю почту. den.dhsilabs.com - имя
моего почтовика Обратите внимание, что узла my.host.com и в
природе нет, а Sender Ok. Вот поэтому, в настройках sendmail
лучше включить опцию Wait for DNS
Теперь нужно запустить какой-нибудь
почтовый клиент например kmail и забрать почту. Настройки сети
в kmail Сеть -> Отправка почты установите SMTP, 25-ый порт,
имя сервера - имя вашего почтовика, у меня -
den.dhsilabs.com
Затем добавьте аккуант для
POP3 Логи - den Пароль - пароль который используется для входа
в систему Сервер - den.dhsilabs.com Порт - 110
Вы должны получить то, сообщение,
которое ввели после data.
Денис Колесниченко, dhsilabs@mail.ru
|