Книга: Linux глазами хакера

Листинг 8.1. Фрагмент файла /etc/mail/sendmail.mc

Листинг 8.1. Фрагмент файла /etc/mail/sendmail.mc

divert(-1)
dnl This is the sendmail macro config file. If you make changes to this file,
dnl you need the sendmail-cf rpm installed and then have to generate a
dnl new /etc/sendmail.cf by running the following command:
dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include('/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID('linux setup for ASPLinux')dnl
OSTYPE('linux')
dnl Uncomment and edit the following line if your mail needs to be sent out
dnl through an external mail server:
dnl define('SMART_HOST','smtp.your.provider')
define('confDEF_USER_ID',''8:12'')dnl
undefine('UUCP_RELAY')dnl
undefine('BITNET_RELAY')dnl
...
...

Файл sendmail.mc имеет более простой формат, чем старый sendmail.cf, благодаря чему уменьшается вероятность допустить ошибку при конфигурировании. После исправлений sendmail.mc необходимо конвертировать в формат CF специальной командой, в результате чего получается файл /etc/sendmail.cf.

Мы в основном будем рассматривать параметры, которые нужно устанавливать в файл sendmail.cf, а если описывается параметр sendmail.mc-файла, то я буду явно указывать на это.

В гл. 2 я уже упоминал, что загрузка Linux может зависать при старте сервиса sendmail. Это происходит из-за того, что ваш почтовый сервер не может определить имя компьютера. Откройте файл /etc/hosts. В нем чаще всего будет только одна строка:

127.0.0.1 localhost.localdomain localhost

Подробно этот файл будет описан в гл. 11, когда мы будем рассматривать DNS. Сейчас нам надо знать, что эта строка описывает IP-адрес 127.0.0.1, который соответствует имени localhost. В любой системе такие адрес и имя указывают на вашу локальную машину. Когда в сетевых программах вы указываете localhost, то это имя преобразуется в IP-адрес 127.0.0.1.

Программа sendmail использует имя компьютера, которое вы указали во время установки ОС Linux. Выполните команду hostname, чтобы узнать его. В моем случае это FlenovM. Так уж получилось, что все сетевые обращения происходят не по имени, а по IP-адресу, a sendmail не может определить адрес по имени FlenovM, поэтому происходит зависание. Чтобы исправить эту ситуацию, добавьте в файл /etc/hosts строку:

192.168.77.1 FlenovM FlenovM

Только FlenovM нужно заменить на имя вашего компьютера и указать свой IP-адрес. После этого программу sendmail можно помещать в автозапуск, и она будет работать великолепно даже с настройками по умолчанию.

Каждому пользователю системы автоматически создается почтовый ящик, и если сервис sendmail запущен, то им уже можно пользоваться. Все почтовые ящики хранятся в директории /var/spool/mail/. Их имена соответствуют именам пользователей. Так для учетной записи root ящик будет расположен в папке /var/spool/mail/root.

Для работы с почтой нам нужен почтовый клиент, который будет отправлять письма серверу и принимать от него новые сообщения. Таких программ существует множество, и в некоторых дистрибутивах Linux я насчитывал до 7 различных клиентов. Какой выберете вы, зависит только от личных предпочтений.

Можно обойтись и без клиента, а соединение с сервером осуществлять напрямую через сервис Telnet. Благо команды SMTP достаточно простые и их легко использовать. В этом случае для отправки почты нужно подключиться к 25 порту (SMTP-порт), а для получения — к 110 (порт POP3).

Оглавление книги

Оглавление статьи/книги

Генерация: 0.929. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз