![[Top bar]](../../common/images/Topbar-en.gif)
![[Bottom bar]](../../common/images/Bottombar-en.gif) 
| Эта заметка доступна на: English Castellano Deutsch Francais Italiano Nederlands Russian Turkce | 
| ![[Фото автора]](http://www.linuxfocus.org/common/images/John-Perr.gif)  Автор John Perr Об авторе: Пользователь ОС Linux с 1994 г.; один из редакторов французской секции LinuxFocus. Содержание: | 
![[Иллюстрация]](http://www.linuxfocus.org/common/images/illustration130.gif)
Резюме:
Заметка рассказывает о конфигурировании sendmail и fetchmail
на компьютере, использующем интернет через PPP соединение. Такая конфигурация
позволяет использовать любой почтовый клиент Unix (не только Netscape). Отправлять 
и принимать сообщения возможно при каждом PPP соединении.
Для управления почтой необходимо сконфигурировать MTA (Mail Transfer
Agent). Самый популярный (и давно используемый) - sendmail, но 
существуют и другие : более быстрый и простой в конфигурировании qmail
и exim, входящий в стандартные дистрибутивы Debian. В заметке
рассмотрим sendmail и конфигурационный пакет из Университета Беркли
от Eric Allman.
Для получения почты от ISP (Internet Service Provider) необходимо настроить
fetchmail, использующий протоколы pop3 или imap. Можно также 
использовать uucp, но в рамки заметки не входит рассмотрение данного
протокола.
 
Для настройки sendmail необходимо установить следующие пакеты (rpm формат):
Имена пакетов и номера версий могут различаться в зависимости от используемого дистрибутива. Наиболее важные первые два пакета.
Используйте следующие рекомендации для настройки :
/usr/lib/sendmail-cf/cf/config.mc
| # start of config.mc include(`../m4/cf.m4')dnl OSTYPE(`linux')dnl define(`SMTP_MAILER_FLAGS', `e9')dnl FEATURE(redirect)dnl FEATURE(nocanonify)dnl FEATURE(always_add_domain)dnl FEATURE(local_procmail)dnl GENERICS_DOMAIN(localhost.localdomain localhost localhost) FEATURE(genericstable) FEATURE(masquerade_envelope)dnl define(`confCF_VERSION',`dede's cf - 22/05/98')dnl define(`confCON_EXPENSIVE',`True')dnl define(`confME_TOO',`True')dnl define(`confCOPY_ERRORS_TO',`Postmaster')dnl define(`confDEF_CHAR_SET',`ISO-8859-1')dnl define(`confMIME_FORMAT_ERRORS',`True')dnl define(`SMART_HOST',`smtp8:[smtp.isp.net]')dnl define(`confTO_QUEUEWARN',`24h') MAILER(local) MAILER(smtp) # End of config.mc | 
/etc/genericstable:| dede: toto@isp.net root: toto@isp.net news: toto@isp.net | 
/etc/alias содержит строки :
| MAILER-DAEMON: postmaster postmaster: root | 
/etc/nsswitch.conf как показано
ниже:
| passwd: files shadow: files group: files hosts: files dns services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files netgroup: publickey: automount: files aliases: files | 
/etc/sendmail.cf :
m4 config.mc > /etc/sendmail.cf
-rw-------   1 root     root        26468 mai 12 22:52 /etc/sendmail.cf
/usr/bin/sendmail -bi -oA/etc/genericstable
/etc/genericstable.db должен быть создан.
newaliases
/etc/hosts должен содержать следующую строку:
127.0.0.1       localhost.localdomain   localhost localhost
kill `head -1 /var/run/sendmail.pid`
/usr/bin/sendmail -bd -os
 
Настройка sendmail закончена. Теперь проведем тестирование, чтобы
быть уверенными, что все работает :
Создайте файл test.mail :
| 
Subject: test local(пустая строка обязательна) | 
/usr/bin/sendmail -v dede < test.mail
На экране должны появиться следующие строки :
dede... Connecting to local dede... Sent
Загрузите почтовую программу и проверьте почту.
Настройка Netscape для чтения локальной почты:
Edit/Preferences/Mail и перейдите к 
закладке Groups/Mail Server
localhost.localdomain в поле Outgoing mail 
(SMTP) server
movemail/built-in в поле Mail server type
/var/spool/mail командой
chmod 1777 /var/spool/mail.
chmod 777, но в этом случае могут
возникнуть проблемы с безопасностью данных. Команда chmod 1777
означает, что только владелец файла может удалить его, а не все, кто имеет
право записи в каталог.
Теперь ваш компьютер доставляет почту непосредственно Netscape, даже если вы не связываетесь с Internet. Конечно, возможно использование и других почтовых клиентов : XFmail, emacs, mutt, pine etc...
Перед использованием нашего нового почтового сервера в Internet,необходимо
настроить fetchmail для получения почты от ISP:
Создайте файл .fetchmailrc в /home/dede:
| 
poll pop.isp.net protocol POP3
        user toto is dede 
        password XXXXXXX
 | 
где toto и XXXXX ваш логин и пароль для регистрационной записи на pop3.isp.net.
При наличии нескольких почтовых ящиков - создайте подобную строку для каждого.
Для корректной работы fetchmail необходимо установить следующие
права доступа для файла .fetchmailrc :
-rw------- 1 dede dede 189 oct 6 21:45 /home/dede/.fetchmailrc
Для тестирования в Internet выполните следующие действия :
mailq.
Далее подключитесь к ISP и отправьте сообщение.
/usr/bin/sendmail -q
Команда sendmail -q отправляет сообщение, находящееся в очереди.
Через некоторое время загрузите fetchmail и примите сообщение,
пришедшее зеркального почтового адреса. После получения всех сообщений можно
прервать связь.
 
После окончательной установки настроим автоматическое выполнение для
каждого соединения.
При использовании PPP - соединения файлы /etc/ppp/ip-up и ip-down 
исполняются каждый раз при установлении или прекращении сеанса связи.
Убедитесь, что следующие строки присутствуют в файлах, если нет - создайте 
их :
[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local $*
В файл /etc/ppp/ip-up добавляется :
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local $*
Далее файлы /etc/ppp/ip-up и ip-down загружают файлы ip-up.local и ip-down.local :
| #!/bin/bash # /etc/ppp/ip-up.local #Record connection parameters echo `date` $4 $5 ppp-on >> /etc/ppp/history tail -n 1 connect-errors >> /etc/ppp/history # Send waiting mail echo Sending mail... > /dev/console /usr/sbin/sendmail -q echo Mail sent. > /dev/console # Get mail waiting on the pop server echo Getting mail... > /dev/console fetchmail > /dev/console 2>&1 echo Got mail. > /dev/console #End exit 0 # end of /etc/ppp/ip-up.local | 
Основными являются строки sendmail -q и fetchmail.
Остальные выводят сообщения о получении почты на консоль и ведут запись
соединений в файле /etc/ppp/history.
| #!/bin/bash # /etc/ppp/ip-down.local #Record connection parameters echo `date` ppp-off >> /etc/ppp/history #end exit 0 # end of /etc/ppp/ip-down.local | 
Эти файлы исполняются с привилегией root, поэтому необходимо
создать копию файла .fetchmailrc в папке /root.
При наличии постоянного соединения с Internet можно настроить sendmail
таким образом, чтобы отправка почты осуществлялась регулярно :
Команда 
 sendmail -bd -q10m
для отправки почты каждые 10 минут.
Для получения почты каждые 10 минут (600 секунд) необходимо выполнить 
команду :
fetchmail -d 600
Обычно эти команды выполняются в загрузочных файлах в каталогах
/etc/rc или /etc/rc.d/ (в зависимости от
конфигурации).
 
В данной конфигурации почта отправляется из очереди и принимается от ISP. Можно использовать программы (например : xbiff or xmailbox) для оповещения о наличии почты. Почту можно сортировать и фильтровать программой procmail. Об этом можно прочитать в заметке написанной Angel Lopez в Ноябрьском (1997 г.) выпуске журнала.
| Webpages maintained by the LinuxFocus Editor team © John Perr LinuxFocus.org 2000 Click here to report a fault or send a comment to Linuxfocus | Translation information: 
 | 
2000-07-05, generated by lfparser version 1.5