Почтовый сервер

Previous  Top  Next

Почтовый сервер сам по себе не обладает пользовательским интерфейсом. Он только предоставляет набор протоколов, при помощи которых с ним можно общаться.

 

POP3

Предназначен для проверки входящих сообщений. Хотя у пользователя может быть много папок на сервере, в данном протоколе они не поддерживаются и, по сути, работа ведется только с папкой INBOX. Протокол очень прост и поддерживается всеми почтовыми клиентами. Он позволят получить список сообщений на сервере с их размерами, можно скачать или удалить указанное сообщение. Также возможно частичное скачивание сообщений (заголовок сообщения и указанное количество строк тела письма).

 

IMAP

Также позволяет проверять входящие сообщения, но предоставляет значительно более широкие возможности. Появился в значительной мере как развитие протокола POP3, для него характерно перенесение многих функций с клиента на сервер. Это позволяет использовать так называемые "тонкие" клиенты, которые сами не предоставляют особых возможностей, а полагаются на функциональность сервера.

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

В отличие от протокола POP3, можно работать сразу с набором сообщений и запрашивать только нужную информацию. Так, например, можно запросить отправителей, получателей и размеры всех сообщений с 5-го по 10-е включительно.

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

Помимо самого стандартного протокола, было также принято множество расширений, еще более расширяющих возможности протокола. Такое обилие возможностей привело к тому,что протокол получился достаточно сложным. Не все почтовые клиенты и сервера его поддерживают, и практически никто не поддерживает в полной мере.

 

SMTP

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

Первоначально протокол SMTP не предусматривал возможности авторизации, но в связи с появлением спама (нежелательных сообщений часто рекламного характера) такая возможность была добавлена.

При отправке сообщений на внешние адреса часто требуется авторизация, иначе была бы возможна рассылка сообщений через данный сервер (open relay), что открывает возможности для злоупотребления. Вместо авторизации сервер может вводить ограничения по IP адресам. Так, например, отправка на внешние адреса может быть позволена только из внутренней подсети.

Обмен сообщениями между серверами чаще всего происходит без авторизации , так как сервера обычно ничего друг о друге не знают. Ограничением является то, что сервер-получатель должен быть конечным пунктом для сообщения (по крайней мере, с  точки зрения сервера-отправителя). Исключением является случай, когда небольшая организация использует сервер провайдера как промежуточный для отсылки своих сообщений. В этом случае должна использоваться либо авторизация, либо какие-то другие ограничения (например на основе IP адреса).