Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lec10.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
156.16 Кб
Скачать

Тема 10. Другие сервисы

10.1 Электронная почта

Каждый UNIX-сервер дает возможность работы с электронной почтой.

Основным протоколом пересылки почты является SMTP (Simple Mail Transfer Protocol). При пересылке почты SMTP-сервер отправителя взаимодействует непосредственно с SMTP-сервером получателя. Соединение устанавливается по 25 порту. Далее следует код приветствия и команды, устанавливающие тип операции. Затем сервер запрашивает сообщение и получает его. После этого соединение закрывается.

Если эти операции выполнить из командной строки, сеанс будет выглядеть так:

telnet destination.com 25

Connected to destination.com

HELO sender.com

… Pleased to meet you

MAIL From: alex@sender.com

… Sender OK

RCPT To: mih@destination.com

… Recipient OK

DATA

Enter mail? End with “.”

Заголовок

__

Текст сообщения

.

… Message accepted for delivery

QUIT

Connection closed

Здесь подчеркиванием выделена информация, вводимая пользователем.

На примере видно, что диалог выполняется с помощью четырехсим-вольных команд, которые набираются в верхнем регистре.

Заголовок сообщения отделяется от текста сообщения пустой строкой. После получения точки, SMTP (типа sendmail) программа добавляет сообщение в почтовый файл получателя (var/mail/mih на BSD).

Полученное сообщение можно просмотреть программой mail. После запуска она выдает перечень полученных писем и подсказку: &. В ответ на подсказку можно ввести:

номер – вывод на экран сообщения с указанным номером,

s file1 – сохраняет сообщение в файле file1,

q – выход из mail.

Клиент взаимодействует с SMTP-сервером своего провайдера, а не прямо с сервером получателя. Это сделано для того, чтобы воспользоваться преимуществами постановки сообщений в очередь.

Клиент помещает сообщение в очередь. Через заданные промежутки времени SMTP-сервер передает все сообщения серверам получателям.

Путь сообщения показан на рисунке.

Здесь

MUA – Mail User Agent – пользовательский почтовый агент,

MTA – Mail Transfer Agent – агент пересылки почты.

Пересылка сообщения между SMTP-серверами имеет название relaying.

Наиболее известные MTA:

Sendmail – наиболее распространенный агент, является стандартным для UNIX и Linux;

Microsoft Exchange – агент для системы Windows;

Postfix – разработан, как альтернатива Sendmail, является более быстрам и защищенным;

Наиболее известные MUA:

Mail – наиболее простой агент для UNIX.

Pine, Elm, Mult – тестовые клиенты для UNIX.

Microsoft Outlook, Netscape Mail – агенты с графическим интерфейсом.

Во Free BSD служба Sendmail уже сконфигурирована и готова к работе.

Нужно лишь, чтобы в файле /etc/rc.conf была строка

sendmail_enable = “YES”

С работой Sendmail три точки файловой системы:

/etc/mail – конфигурационные файлы Sendmail,

/var/mail – почтовые ящики пользователей,

/var/spool/mqueue – файлы очередей сообщений.

В процессе конфигурирования используется язык m4.

Сервер Sendmail работает так. Запускается основной процесс, который прослушивает порт 25, ожидая входящих сообщений. Каждые 30 минут запускается новый процесс

sendmail -q ,

который пытается доставить каждое сообщение из очереди. Сообщения, которые не удалось отправить, возвращаются отправителю с сообщением об ошибке.

За очередью можно наблюдать с помощью команды mailq.

Одно из последних усовершенствований Sendmail – защита от SPAM’а (рекламных сообщений).

Пересылка почты по SMTP – это только половина задачи. Чтобы сообщения могли быть доставлены от одного пользователя к другому, нужно еще обеспечить нагрузку с сервера по протоколу POP (Post Office Protocol) – текущая версия РОР3.

Обычно пользователи работают с клиентскими программами типа Microsoft Outlook, которые имеют удобный графический интерфейс и читают сообщения с почтового ящика SMTP.

B BSD в качестве РОР3-сревера используется программа gpopper, которая устанавливается через порты. Сервер работает через 110 порт.

Проверить, запущен ли РОР3-сервер, можно с помощью telnet:

telnet localhost 110

+ OK Qpopper at sender.com starting

QUIT

connection closed

Альтернативой РОР является IMAP (Interactive Mail Access Protocol), фундаментальное различие между ними заключается в том, что РОР загружает каждое сообщение с сервера и сохраняет его в почтовой программе, IMAP управляет почтовыми сообщения сугубо на сервере. Сообщения с сервера IMAP передаются клиенту только при запросе и не удаляются до тех пор, пока пользователь не укажет это явно.

Что касается сервера Sendmail, то его недостатком является сложность конфигурирования. Поэтому вместо него часто используют более быстрый и простой в управлении сервер postfix. Недостатком postfix является его относительная новизна.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]