Исследование: «Идеальный почтовый сервер. Что такое почтовый сервер

  • 22.07.2019

Южно-Уральский государственный университет

Миасский машиностроительный факультет

Кафедра «Управление качеством и стандартизация»

Курсовая работа

По информатике

На тему «Почтовый сервер»

Введение _____________________________________________________________3

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

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

Структура адреса электронной почты ____________________________________________6

Что такое домен ______________________________________________________________7

История знака @______________________________________________________________9

ПО электронной почты _______________________________________________________11

Mail.ru______________________________________________________________________12

Yahoo! Mail _________________________________________________________________15

Rambler.ru __________________________________________________________________17

Ведущие почтовые клиенты ___________________________________________________17

Заключение _________________________________________________________________18

Список литературы___________________________________________________________19

Введение

Еще в давние времена люди испытывали потребность в обмене информацией и организовывали его на государственном уровне. Поэтому почта – одно из наиболее четко организованных учреждений в мире.

Электронная почта является новым современным средством передачи информации. В отличие от обычной почты, по электронной передаются электронные копии сообщений, файлы, программы, различные данные – т.е. информация, обработанная с помощью компьютера.

Основными объектами, составляющими систему электронной почты, являются специальные компьютеры, называемые почтовыми серверами.

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

Почтовые серверы – это серверы, получающие и отправляющие электронные сообщения.

Сервер, получающий электронные сообщения, работает по протоколу POP (Post Office Protocol).

Сервер, отправляющий электронные сообщения работает по протоколу SMTP (Simple Mail Transfer Protocol).

Почтовый сервер, сервер электронной почты, мейл-сервер - в системе пересылки электронной почты так обычно называют агент пересылки сообщений (англ. mail transfer agent, MTA ). Это компьютерная программа, которая передаёт сообщения от одного компьютера к другому. Обычно почтовый сервер работает «за кулисами», а пользователи имеют дело с другой программой - клиентом электронной почты (англ. mail user agent, MUA ).

Схема взаимодействия

К примеру, в распространённой конфигурации агентом пользователя является Outlook Express. Когда пользователь набрал сообщение и посылает его получателю, почтовый клиент взаимодействует с почтовым сервером, используя протокол SMTP. Почтовый сервер отправителя взаимодействует с почтовым сервером получателя (напрямую или через промежуточный сервер - релей). На почтовом сервере получателя сообщение попадает в почтовый ящик, откуда при помощи агента доставки сообщений (mail delivery agent, MDA) доставляется клиенту получателя. Часто последние два агента совмещены в одной программе, хотя есть специализированные MDA, которые в том числе занимаются фильтрацией спама. Для финальной доставки полученных сообщений используется не SMTP, а другой протокол - часто POP3 или IMAP - который также поддерживается большинством почтовых серверов. Хотя в простейшей реализации MTA достаточно положить полученные сообщения в личный каталог пользователя в файловой системе центрального сервера («почтовый ящик»).

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

Электронная почта (e-mail, от латинского "electronic mail").

Электронная почта, как и обычная, работает с системой электронных "почтовых отделений" – почтовых серверов, которые обеспечивают пересылку писем по глобальным сетям. Они взаимодействуют с помощью почтовых протоколов, обеспечивающих пересылку и распознавание передаваемой в сети информации. Компьютеры-клиенты почтовых серверов обслуживают пользователей электронной почты. Каждый получает свой почтовый адрес и свой "почтовый ящик" на этом компьютере, т.е. область памяти, а также пароль для доступа к нему.



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

С помощью почтовой программы пользователь создает сообщение адресату, задает адрес, отправляет сообщение, для чего соединяется с почтовым сервером. Во время соединения почтовый сервер запрашивает имя пользователя и его пароль. Иначе сеанс связи не состоится. После соединения подготовленная почта автоматически отправляется на сервер и далее через передачу от одного к другому почтовому серверу достигает адресата. Сразу после отправки корреспонденции автоматически происходит получение почты клиентом. Считанные в его область памяти сообщения и файлы сортируются и раскладываются по почтовым ящикам пользователей. Адресат при загрузке своего ящика видит разложенные по папкам сообщения: новые, старые, отправленные. Он может удалять, сортировать и классифицировать их по своему разумению.

Структура адреса электронной почты

При пересылке информации большое значение имеет адресация, поскольку без нее не может быть найден получатель. Все знают печальную историю Ваньки Жукова, который отправил письмо "на деревню дедушке". Адрес обычной почты оформляются по определенным почтовым правилам.

Существующие правила оформления электронных адресов иные. Адреса электронной почты имеют более четкую логическую структуру. Они состоят из иерархической последовательности доменов – частей, например:

[email protected]

[email protected]

[email protected]

Все адреса состоят из двух частей, разделенных символом @ (читается "эт"). При прочтении слева направо до этого знака отображаются имена пользователей (получателей). Это может быть имя начальника почтового отделения - "пост мастера" (post master), выдуманные или истинные имена пользователей электронной почты, на которые приходит корреспонденция. Их может быть зарегистрировано на одном и том же компьютере много. Часть адреса, находящаяся справа от @, определяет компьютер, подключенный к сети, город и страну или название сети, в которой пользователь зарегистрирован. Адреса делятся на части, которые называются доменами.

Что такое домен

Рассматривая домен справа налево и разбив его по точкам на отдельные слова, получим поддомены, поочередно уточняющие, где этот почтовый ящик искать. В аналогии с обычной почтой домен – это адрес (строка "Куда" на конверте), а поддомены - название страны, города, улицы, номер дома.

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

Самый правый поддомен (в нашем случае ru) называется доменом верхнего уровня и чаще всего обозначает код страны, в которой находится сервер. Код ru - это Россия, kz – Казахстан. Каждый код состоит из двух латинских букв. Например, код uk обозначает Великобританию, и почтовый ящик с адресом [email protected] следует искать в английской сети JANET.

Домен верхнего уровня - не всегда код страны. В Соединенных Штатах встречаются такие, например, домены верхнего уровня, как edu - научные и учебные организации, или gov – правительственные учреждения:

lamaster@ge rge.arc.nasa.gov

Если почтовая служба видит в правой части домена поддомен такого вида, она уже знает, что адресат находится в США, поэтому код страны us не нужен. Такие обозначения сложились в американской научной сети ARPANET еще до того, как ее связали с сетями в других странах, а сейчас они сохраняются только по привычке. Как правило, во все места, которые адресуются по типу организации, можно добраться и используя код страны. Из соображений простоты и единообразия лучше пользоваться адресами с кодами стран.

Обычно такие адреса используются, если эта сеть понимает адреса в формате, отличном от RFC822. Тогда Вы пишите адрес типа имя@машина.сеть, а мост между Вашей сетью и сетью адресата преобразует его к нужному виду.

Поддомены, расположенные правее домена верхнего уровня, уточняют положение адресата внутри этого домена (внутри России для ru, среди военных организаций США для mil, или в сети BITNET для bitnet). К примеру, в адресе [email protected] поддомен demos обозначает организацию внутри России, а hq – группу машин внутри demos.

В адресе [email protected] домен верхнего уровня gov означает, что адресат находится в одном из правительственных учреждений США, первый поддомен nasa уточняет, в каком именно - NASA, второй поддомен arc называет подразделение NASA - Ames Research Center, а george указывает на конкретную машину в этом подразделении.

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

Когда необходимо достичь адреса, например, ux . cso . uiuc . edu , компьютер должен преобразовать его в адрес. Чтобы это сделать, Ваш компьютер начинает просить помощи у серверов (компьютеров) DNS, начиная с правой части имени и двигаясь влево. Сначала она просит локальные серверы DNS найти адрес. Здесь существуют три возможности.

| |

Postfix – это агент пересылки сообщений (англ. Mail Transfer Agent, или MTA), приложение для отправки и получения электронной почты. В данном руководстве показано, как установить и настроить Postfix только для отправки сообщений локальных приложений (то есть, приложений, установленных на одном сервере с Postfix).

Зачем это нужно?

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

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

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

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

Требования

Для выполнения данного руководства нужны:

  • и учетная запись пользователя с расширенными привилегиями sudo;
  • Валидное доменное имя (в данном руководстве используется условный домен example.com).

Имя хоста сервера должно соответствовать этому домену или поддомену. Чтобы проверить имя хоста сервера, введите в командную строку hostname. Вывод должен совпадать с именем сервера, которое он получил при создании (например, example.com).

1: Установка Postfix

Чтобы установить Postfix, а заодно и ряд других программ, необходимых для настройки почты, просто установите пакет mailutils:

sudo apt-get install mailutils

Вместе с пакетом mailutils будет установлен Postfix и его зависимости. Вывод команды выглядит примерно так:

The following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert
0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue?

Чтобы установить все вышеперечисленные пакеты, нажмите ENTER. В конце установки появится окно настройки Postfix, в котором нужно выбрать тип почтовой настройки; опция по умолчанию – Internet Site, что полнее удовлетворяет требования данного руководства (чтобы подтвердить, нажмите TAB и ENTER).

После этого появится новое окно настройки Postfix с полем System mail name. Это поле должно совпадать с именем сервера, которое вы выбрали при его создании. Укажите имя, а затем нажмите TAB и ENTER.

Примечание : Если в строке появляется поддомен вроде first.example.com, сократите его до example.com.

2: Настройка Postfix

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

Для этого Postfix должен быть настроен на прослушивание только интерфейса внутренней петли (loopback interface) – это виртуальный сетевой интерфейс, который используется сервером для внутреннего взаимодействия. Откройте конфигурационный файл Postfix с помощью редактора nano:

sudo nano /etc/postfix/main.cf

Найдите в нем следующий блок кода:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Замените строку inet_interfaces = all строкой inet_interfaces = loopback-only. Теперь этот блок выглядит так:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

Вместо loopback-only можно также использовать localhost:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost

Завершив редактирование файла, сохраните изменения и закройте его (CTRL+X, затем Y и ENTER). После этого перезапустите Postfix:

sudo service postfix restart

3: Тестирование SMTP-сервера

Теперь необходимо проверить, может ли Postfix отправлять сообщения на внешний электронный адрес. Для этого используется команда mail, которая также входит в пакет mailutils.

Итак, чтобы отправить тестовое сообщение, наберите:

echo "This is the body of the email" | mail -s "This is the subject line" [email protected]

Примечание : Вместо [email protected] используйте валидный адрес электронной почты.

Проверьте почтовый ящик, на который было отправлено сообщение. Если отправленное сообщение не появилось, проверьте папку спама.

Примечание : В данном руководстве используется условный адрес [email protected], где gunter – имя пользователя Linux, а домен – имя хоста сервера (эту строку нужно указать в поле From).

4: Форвардинг почты

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

Чтобы Postfix отправлял сгенерированные системой сообщения на ваш почтовый адрес, отредактируйте файл /etc/aliases.

sudo nano /etc/aliases

В стандартной установке Ubuntu 14.04 этот файл выглядит так:


postmaster: root

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

# See man 5 aliases for format
postmaster: root
root: [email protected]

Замените [email protected] своим личным адресом электронной почты. Сохраните и закройте файл. Чтобы изменения вступили в силу, выполните следующую команду:

Теперь протестируйте форвардинг, отправив сообщение пользователю root:

echo "This is the body of the email" | mail -s "This is the subject line" root

Это сообщение должно появиться в вашем почтовом ящике (если нет – проверьте папку спама).

Tags: ,

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое.


Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.

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

Предварительные требования

Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.

  • Прямая зона для example.tst:
IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1
  • Обратная зона для example.tst:
192.168.10.1 IN PTR mail.example.tst.

Когда настраивается живой почтовый сервер, эти записи могут быть изменены, в соответствии с системными требованиями.

Настройка имени хоста (hostname)

Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.

Root@mail:~# vim /etc/hostname mail root@mail:~# vim /etc/hosts ## IP Полностью определённое доменное имя Имя хоста ## 192.168.10.1 mail.example.tst mail

Добавление пользователей

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

Root@mail:~# adduser alex

Установка и настройка SMTP

SMTP: Установка postfix

root@mail:/etc/postfix# vim main.cf ## имя сервера ## myhostname = mail.example.tst ## определение псевдонимов ## alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases ## определение transport ## transport_maps = hash:/etc/postfix/transport ## myorigin задаёт доменное имя для писем, берущих начало с этого сервера. В нашем случае, все исходящие письма должны иметь "@example.tst" в качестве домена отправителя ## myorigin = example.tst ## mydestination параметр определяет, какие домены эта машина будет доставлять локально вместо того, чтобы переправлять на другую машину. ## mydestination = mail.example.tst, localhost.example.tst, localhost, hash:/etc/postfix/transport ## адрес smarthost. В этом уроке не используется, о нём будет расказанов в будущей инструкции ## relayhost = ## доверенные сети отправителя. postfix не будет пересылать письма, приходящие из других сетей ## mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24 ## размер почтового ящика в байтах. 0 означает без ограничений ## mailbox_size_limit = 0 ## postfix будет прослушивать все доступные интерфейсы, например, eth0, eth1, eth2 и так далее ## inet_interfaces = all
  • transport

Письмам, предназначенным для домена example.tst, определено быть доставлено локально без каких-либо DNS запросов.

root@mail:/etc/postfix# vim transport example.tst local: .example.tst local: root@mail:/etc/postfix# postmap transport
  • aliases

Предполагаем, что все письма, отправленные пользователю userA, должны быть доставлены также пользователю userB, для этого файл aliases изменён как показано ниже:

Root@mail:/etc/postfix# vim aliases userA: userA, userB root@mail:/etc/postfix# postalias aliases

Обратите внимание: Синтекс "userA: userB" определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.

SMTP: Запуск и обслуживание

postfix может быть запущен командой.

Root@mail:~# service postfix restart

Лог-файл в /var/log/mail.log должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat.

Root@mail:~# netstat -nat tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.

Установка и настройка POP/IMAP

POP/IMAP: Установка dovecot

POP/IMAP: Подготовка конфигурационных файлов

Следующие параметры изменяются как нужно.

Root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf ## расположение почтовых ящиков, заданных в формате "mbox" ## mail_location = mbox:~/mail:INBOX=/var/mail/%u ## dovecot даны необходимые разрешения на чтение/запись пользовательских почтовых ящиков ## mail_privileged_group = mail

Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.

POP/IMAP: Установка службы

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

Root@mail:~# service dovecot restart

Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.

Root@mail:/etc/dovecot/conf.d# netstat -nat tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN

Использование почтового сервера с пользовательской почтовой программой

Почтовый сервер теперь готов к использованию. Почтовая учётная запись может быть настроена с использованием вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне. Можно настроить и webmail (почту с веб-интерфейсом) на сервере, но инструкция по webmail будет в следующих уроках. На данном этапе, почтовая программа Mozilla Thunderbird определила следующие настройки для моего сервера:

Решение проблем с почтовым сервером

  • Лучший ваш друг – это лог-файл /var/log/mail.log. Любые зацепки, почему почта не работает, могут быть найдены здесь.
  • Убедитесь, что файервол должным образом настроен.
  • Убедитесь, что DNS сервер имеет должные записи.

Подытоживая, демонстрация в этом уроке, как уже было упомянуто, проходила в лабораторных условиях. Может быть развёрнут тестовый DNS сервер со всеми необходимыми записями, и пользователи будут между собой обмениваться письмами на одном и том же сервере, например, том же домене. Чтобы сделать ещё интереснее, можно развернуть множество почтовых серверов с различными доменами, для проверки работы связи между доменами, для этого должны присутствовать необходимые DNS записи.

Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.

Внимание : Для тех, кто хочет развернуть живой почтовый сервер, или любой почтовый сервер, который имеет доступ в Интернет, убедитесь, что ваш SMTP обезопасен. Обычно атаки на SMTP происходят из Интернета, так и от зловредных программ внутри локальной сети.

Надеюсь это поможет.

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

Вообще, тема почты очень близка авторам , мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.ru да и вообще к любому популярному почтовому ящику, как создать свою автономную почту на хостинге и т. д. Всё это и многое другое вы сможете найти по тегу своя почта.

Гарант является доверенным посредником между Участниками при проведении сделки.


Начнем с того, что я подразумеваю под средним бизнесом. Я не знаю точную классификацию и нигде не смотрел, не проверял. Мне интуитивно кажется, что это от 10-15 пользователей до 200-300. Я же буду рассматривать сегмент до 100 пользователей , так как почти все время работаю исключительно в этой нише. Проблемы и потребности более крупных компаний мне достоверно неизвестны. Хотя не уверен, что что-то будет принципиально отличаться от 100 человек, думаю подходы будут те же самые, только железо мощнее. Проблемы распределение нагрузок и кластеризации тут скорее всего еще не будут стоять.

Есть у нас небольшая компания на несколько десятков человек. Нам нужен почтовый сервер. Несмотря на то, что технологии давно шагнули вперед, предоставив массу всевозможных средств коммуникации, электронная почта все равно плотно стоит на своих позициях и не собирается их пока уступать. При этом в таком небольшом коллективе, больших требований к почтовому серверу не предъявляют. Чаще всего достаточно, чтобы почта просто работала, без особых функциональных изысков. Будет достаточно либо почтового клиента и протокола imap, либо web интерфейса. Хорошо, если будет возможность настроить автоответ, делать общие папки, единую адресную книгу, но и без этого можно прожить.

Среди всех возможных вариантов почтового сервиса, я выделяю 3 принципиально разных подхода к реализации необходимого функционала:

  1. Сервисы на основе бесплатных почтовых служб гугла, яндекса или мейл.
  2. Свой почтовый сервер на основе бесплатного ПО.
  3. Exchange сервер от Microsoft.

Разберем каждый из них поподробнее.

Бесплатная почта от google, yandex и mail.ru

Сразу сделаю пару замечаний. Я не уверен, что у гугла сейчас можно зарегистрировать бесплатно корпоративную почту. Все, кто зарегистрировались раньше, пользуются бесплатно, а для новых пользователей теперь доступны только платные подписки. Но это не принципиально и не относится напрямую к теме статьи. Если гугл и стал полностью платным для бизнеса, то просто исключим его из нашего списка. Yandex и Mail.ru пока еще точно бесплатные. Сам я администрировал почтовые домены в google apps и в Яндексе. С biz.mail.ru не работал, только знаю, что там реализовано что-то похожее. Мне как-то сама компания не нравится еще со старых времен. Хотя сейчас они вроде как повернулись лицом к пользователям, но Амиго до сих пор жив здоров, так что повернулись еще не совсем.

Рассмотрим плюсы данных почтовых сервисов.

  1. Самое главное преимущество — полноценная почта готова сразу после регистрации. Затрат на покупку железа и настройку нет никаких . Достаточно более ли менее продвинутого пользователя, который по инструкциям на сайте сможет подключить домен и создать почтовые ящики. И почтой уже можно пользоваться.
  2. Легко администрировать и управлять пользователями, веб сервис предоставляет все необходимые оснастки для этого. Они удобны и интуитивно (хотя и не всегда) понятны.
  3. Удобный и привычный web интерфейс . Все работает быстро, из любого места, где есть интернет и браузер. Есть хорошее мобильное приложение.
  4. Широкий функционал , готовый сразу после создания ящика. Различные фильтры, сборщики почты, неплохой антиспам (у гугла) и многое другое.

Вроде все, ничего не пропустил. Казалось бы, плюсы очевидны и существенны. Но прежде чем делать выводы, рассмотрим минусы.

  1. Вы не управляете этой почтой. Она принадлежит не вам , находится не на ваших серверах. Вы не знаете, что с ней происходит. Если у вас есть очень деликатная и приватная переписка, то возникают подозрения и сомнения насчет использования популярных почтовых служб. Это может показаться паранойей, но этот вопрос реально заботит пользователей и владельцев бизнеса, и его не стоит сбрасывать со счетов.
  2. Вы не застрахованы от сбоев в системе и никак не можете их предотвратить. А сбои хоть и не часто, но бывают. Так как сервисы бесплатные, никто ничего вам гарантировать не будет . И если случится какой-то форс мажор и данные пропадут, вам просто скажут извините. Если у вас самих не очень надежная ИТ структура, вероятность технических проблем на вашем личном сервере возможно будет выше. Но вы этим можете управлять и теоретически сможете построить систему с удовлетворяющим вас уровнем надежности.
  3. Неочевидны способы бэкапа и восстановления почтовых ящиков в таких сервисах. Бывают ситуации, когда из почтового ящика удаляют все письма. Допустим, сохранить их можно различными способами, просто скачав, а как потом обратно в ящик вернуть, сохранив все даты оригинальными?
  4. Нет возможности анализировать непонятные ситуации. Например, вы отправляете письмо, а оно не приходит к адресату. Что делать? В случае с облачной почтой вы ничего не сделаете, так как у вас нет никаких инструментов для разбора ситуации. Попробуете просто отправить письмо из другого ящика. Бывает к вам не приходит письмо, и вы никак не можете понять, почему его нет. А дело может быть банально в неправильно настроенном фильтре. Это обычная ситуация, когда фильтров много, плюс если еще какие-то пересылки настроены. Без доступа к логам сервера бывает трудно разобраться в ситуации . А если есть лог почтового сервера, то сразу становится понятно, почему письмо не отправляется, или что с ним стало после получения. Можно наверняка узнать, получил ли удаленный сервер ваше письмо или нет.
  5. Нет простых способов ограничить доступ к почтовым ящикам , например, только из локальной сети офиса. Почтовые ящики публичных сервисов доступны всегда через интернет. Есть возможность решить эту проблему в google apps через авторизацию в сторонних сервисах. В яндексе и мейле я не встречал возможности реализовать такой функционал.
  6. Нужно еще понимать, что бесплатный сыр известно где бывает . До конца не ясно, как почтовые сервисы используют полученную от пользователей информацию. Хорошо, если только для показа им релевантной рекламы. Думаю, что не только для этого.

Когда я только начинал работать примерно 10 лет назад, вопроса какую почту использовать в организации, не стояло. Все ставили свои почтовые серверы и админили их. Бесплатные почтовые сервисы не предоставляли на тот момент для бизнеса никаких инструментов для управления почтой. Когда такие инструменты стали появляться, я думал, что скоро свои почтовые серверы никому не будут нужны, так как в них отпадет смысл. А все мои мучения (не люблю с ними работать) с почтовыми серверами станут бессмысленными.

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

Самым большим минусом мне видится отсутствие полноценных почтовых логов и хорошей схемы бэкапа. Разбирать проблемы неудобно без логов. Быстро и просто восстановить удаленное письмо в прежнее место не получится, хотя для опенсорсных почтовых серверов это простое дело.

Почтовый сервер на базе бесплатного ПО

Рассмотрим преимущества и недостатки собственного почтового сервера на базе бесплатного программного обеспечения. В принципе, сюда можно отнести и некоторые платные, например Kerio Mail Server, который тоже частенько используют. Думаю, его можно сюда же отнести, так как функционал он обеспечивает схожий. Я рассматриваю все почтовые сервера в совокупности, не выделяя отдельных представителей. Хотя в линуксе, кроме postfix и exim, лично я не встречал ничего в продакшене. Сам всегда использую postfix, так как привык к нему и знаю его неплохо. Рассмотрим внимательно плюсы таких серверов.

  1. Вы полностью контролируете всю информацию , которая приходит по почте и хранится на вашем сервере. Вы можете ограничивать по своему усмотрению доступ к почте различными техническими средствами. Можете централизованно настраивать правила удаления, к примеру, приватной информации в письмах, по различным признакам, которые сами можете установить.
  2. Уровень доступности почтового сервиса зависит только от вас. При должном подходе, вы можете обеспечить устраивающую вас надежность работы системы.
  3. Гибкая система бэкапа. Средств для ее организации масса, в том числе бесплатных. Все зависит только от ваших потребностей, навыка и возможностей. Вы можете хранить различные срезы по датам, по ящикам, доменам, организовать любую подходящую схему.
  4. Практически ничем не ограниченный функционал . В разумных пределах, конечно:) Вы можете создавать почтовые ящики с возможностью только локальной переписки, можете централизованно управлять приемом и отправкой почты, вести свои белые и черные списки. Можете настраивать различные ограничения по ящикам и доменам. Можете без проблем централизованно управлять дублированием почты нужных ящиков, делать всевозможные пересылки и много другое.
  5. Все средства мониторинга работы сервера в ваших руках. Вы сможете разобраться с любой непонятной ситуацией , имея на руках логи почтового сервера. Эта служба хорошо логируется. У меня практически никогда не возникало проблем, когда не было понятно, куда пропало письмо. Чаще всего находятся следы и можно однозначно сказать, что стало с письмом.
  1. Необходимо покупать или арендовать оборудование для организации своего почтового сервера. В случае с сервером на линукс, требования к производительности будут не большие. Мне обычно хватает виртуалки на 4 ядра и 4 гб оперативной памяти. Гораздо важнее дисковая подсистема. Тут чем быстрее диски, тем лучше. Не стоит забывать про бэкап. Для него тоже нужны ресурсы железа.
  2. Настройка полноценного, многофункционального почтового сервера требует как минимум средних знаний в системном администрировании linux. То есть просто админ-эникей тут не подойдет. Нужен специалист с опытом . У него должна быть приличная зарплата. Если такого админа нет в штате, я рекомендую нанять кого-нибудь на разовую работу по настройке. Чаще всего после настройки, особой работы по поддержке сервера не требуется, если не будете менять функционал. Достаточно просто следить за свободным местом на дисках и управлять ящиками через web панель.
  3. Удобство работы через web интерфейс будет ниже, чем в бесплатных почтовых службах. Как ни крути, но тот же gmail реализован очень удобно. Быстрый поиск, фильтры, сортировки, метки и т.д. Это реально удобно. Я очень привык и не могу пользоваться чем-то другим.

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

Плюсы и минусы Microsoft Exchange Server

У меня нет большого опыта администрирования exchange. Я его когда-то давно тестировал, когда решал, с какими почтовыми серверами буду работать. Устанавливал, изучал функционал. Потом один раз настроил почтовый сервер для организации. Они хотели именно exchange. Проблем не возникло, быстро настроил по многочисленным гайдам в интернете. Порог входа в настройщики почтового сервера exchange очень низкий. С базовым функционалом может справиться даже эникей.

Для средних организаций реально полезным и трудно заменимым функционалом считаю общие календари. И конечно же удобство интеграции с AD, если она есть. А чаще всего AD есть, так как я не представляю себе администрирование сети больше чем на 20-30 человек без Active Directory. Считаю, что тут бессмысленно экономить и надо покупать Microsoft Server.

Рассмотрим теперь плюсы и минусы Microsoft Exchange Server. Предупреждаю на всякий случай еще раз. Рассказываю только свое видение, опыта работы с сервером мало, поэтому хотел бы сам в комментариях получить замечания по нему, чтобы иметь более адекватную оценку этой системы. Плюсы Exchange:

  1. Большой функционал при относительной простоте настройки. Развернуть сервер с базовым функционалом по силе любому админу. Причем этот базовый функционал может быть больше, чем у какой-нибудь сборке под линуксом.
  2. Интеграция с Active Directory . Вы создаете новую учетную запись пользователя и почтовый ящик ему сразу же готов. Не нужно никаких специальных настроек, если у пользователя Microsoft Outlook. Подключение к серверу настраивается в несколько кликов мышкой.
  3. Удобные средства администрирования в виде готовых оснасток Windows Server. Тут все традиционно для решений от Microsoft.

Минусы Exchange Server такие же характерные, как и плюсы, для большинства продуктов от Microsoft:

  1. Цена, цена и еще раз цена . Microsoft Exchange Server стоит дорого. Нужно считать и прикидывать, будет ли оправдано его приобретать. Для использования всего заложенного функционала, необходимо будет на каждое рабочее место купить редакцию Microsoft Office c аутлуком в комплекте. Это еще дополнительные расходы.
  2. Для хорошей производительности требуется значительно более мощное железо , по сравнению с серверами на линуксе. А для поддержки больших почтовых ящиков, например на 50 гигабайт, понадобится очень мощное железо. Хотя такие ящики для того же dovecot не представляют особых проблем. В exchange вы скорее всего будете использовать квоты для ограничения максимального размера почтового ящика.
  3. Для бэкапа скорее всего придется так же приобретать приличной мощности железо и платный софт . Тут я только предполагаю, реально я не знаю, что нужно для удобного бэкапа exchange. Знаю платный софт от популярных вендоров. Возможно есть что-то бесплатное.

Вывод по Exchange Server у меня таков — он почти во всем хорошо, кроме цены. Если бы он был бесплатен, я скорее всего пользовался бы именно им. По вполне объективным причинам, это невозможно. Хороший и удобный софт сам по себе не появляется. Его нужно создать, а на это потратить средства, которые захочется вернуть с прибылью.

На сегодняшний день, с учетом стоимости Microsoft Exchange Server и Microsoft Office, я не использую эти продукты Microsoft. Мало кто согласен выложить необходимую сумму для почтового сервера. Мне бы хотелось посмотреть на Exchange поближе в реальных условиях хотя бы человек на 60-80, чтобы оценить более объективно этот сервер. Но пока такой возможности не представилось.

Заключение

Подведу итог своим рассуждениям о почтовом сервере для небольшой среднестатистической организации. Хотя вывод, думаю, уже и так понятен. Сам я предпочитаю второй описанный мной вариант — почтовый сервер на базе бесплатного ПО на linux. Но другие два варианта я бы не стал сбрасывать со счетов. Бесплатная почта от публичных сервисов будет однозначна удобна для совсем небольшого коллектива — на 10-15 человек. Городить свой сервер для такой численности нет никакого смысла.

Exchange Server я бы порекомендовал использовать, если есть и не жалко потратить средства на его приобретение. Продукт однозначно удобный, функциональный и простой в настройке и администрировании. Говоря простой, нужно понимать, что это условно. Конфигурации могут быть и очень сложными, но в данном случае я рассматриваю начальный уровень.

Онлайн курс "Администратор Linux"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по.

Многие пользователи Убунту используют систему не только для домашних нужд. Такой подход вполне оправдан, ведь на Linux-системах гораздо удобнее заниматься программированием, созданием серверов и веб-сайтов. Одно из удобств - создание сервера электронной почты . Для новичков эта задача покажется ужасно трудной, однако если вы разберётесь, как установить и настроить почтовый сервер для Ubuntu, задача уже не покажется вам такой уж тяжёлой.

Как выполняется настройка почтового сервера на базе Ubuntu.

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

Настроенный почтовый сервер, если говорить очень просто - это почтальон, который получает «письмо» от одного почтового клиента и отдаёт другому. В этом, в принципе, вся суть работы этого программного обеспечения. Почтовый сервер нужен не только для передачи электронной почты. На сайтах он отвечает за регистрацию пользователей, передачу заполняемых форм и другие важные действия, без которых сайт стал бы подобием книги, на которую можно только смотреть, перелистывая страницы, а вот что-то сделать трудновато.

Почтовые серверы на Linux существенно отличаются от оных на Windows и других системах. На Винде это уже готовая закрытая программа, которой остаётся только начать пользоваться. Дистрибутивы Линукса же предполагают самостоятельную настройку всех компонентов. Причём сервер будет в итоге состоять не из одной программы, а из нескольких. Мы будем использовать Postfix в сочетании с Dovecot и MySQL.

Почему Postfix?

На Убунту существует несколько почтовых клиентов, но всё же мы выбрали именно этот. Настройка Posfix на Ubuntu гораздо легче, чем того же SendMail, а это важно для начинающего пользователя. В сочетании с Dovecot Postfix способен выполнять всё то, что обычно требуют от почтовых серверов.

Postfix - это непосредственно сам агент передачи почты. Ему и предстоит сыграть главную роль во всём представлении. Это программа с открытым исходным кодом, которую используют по умолчанию многие серверы и веб-сайты. Dovecot - это агент доставки почты. Его главная роль - обеспечение безопасности работы сервера. MySQL - это идеальная система управления базами данных (СУБД) для любых сайтов. Она нужна, чтобы оперировать информацией, которую мы получаем от пользователей нашего сервера.

Итак, с теоретической частью закончено. Теперь стоит перейти к практике.

Создание почтового сервера

Что должно быть настроено перед установкой почтового сервера?

  • MySQL;
  • DNS-зона, у вас должен быть персональный FDQN. Дальше мы будем использовать namehost.

Установка

Устанавливаем программы:

apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql

Когда появится окно с конфигурацией Postfix, нам нужно будет выбрать «Интернет-сайт».

Ниже нас попросят ввести доменное имя, используем «primer.ru».

Настройка MySQL

Теперь нам необходимо настроить три таблицы для данных в MySQL: для доменов, пользователей и для так называемых Alias - псевдонимов или дополнительных пользовательских почтовых ящиков . Здесь мы не будем подробно разбирать настройку базы данных MySQL.

Назовём базу данных examplemail. Создаём базу с таким именем:

mysqladmin -p create servermail

Логинимся в MySQL:

Затем вводим пароль. Если всё сделано правильно, то будет такая запись в терминале:

Создадим нового пользователя специально для входа в сеть:

mysql > GRANT SELECT ON examplemail.* TO ‘usermail’@’127.0.0.1’ IDENTIFIED BY ‘password’;

Теперь перезагружаем MySQL, чтобы убедиться, что все изменения применились успешно.

Используем нашу базу данных, чтобы затем создавать на её основе таблицы:

mysql> USE examplemail;

Создаём таблицу для доменов:

CREATE TABLE `virtual_domains` (

`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)

Создадим таблицу для пользователей:

CREATE TABLE `virtual_users` (
`id` INT NOT NULL AUTO_INCREMENT,
`domain_id` INT NOT NULL,
`password` VARCHAR(106) NOT NULL,
`email` VARCHAR(120) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Здесь, как видите, добавлены email и пароль. А каждый пользователь привязан к домену.

Наконец, создаём таблицу под псевдонимы:

CREATE TABLE `virtual_aliases` (
`id` INT NOT NULL AUTO_INCREMENT,
`domain_id` INT NOT NULL,
`source` varchar(100) NOT NULL,
`destination` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Мы успешно настроили MySQL и создали три необходимые таблицы. Теперь нужно разобраться с доменами и мейлами.

Домены, адреса электронной почты и псевдонимы

Добавим наш домен в таблицу с доменами. Туда же необходимо занести FDQN:

INSERT INTO `examplemail`.`virtual_domains`
(`id` ,`name`)
VALUES
(‘1’, ‘primer.ru’),
(‘2’, ‘namehost.primer.ru’);

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

INSERT INTO `examplemail`.`virtual_users`
(`id`, `domain_id`, `password` , `email`)
VALUES
(‘1’, ‘1’, ENCRYPT(‘firstpassword’, CONCAT(‘$6$’, SUBSTRING(SHA(RAND()), -16))), ’[email protected]’),
(‘2’, ‘1’, ENCRYPT(‘secondpassword’, CONCAT(‘$6$’, SUBSTRING(SHA(RAND()), -16))), ’[email protected]’);

Теперь добавим информацию в последнюю таблицу:

INSERT INTO `examplemail`.`virtual_aliases`
(`id`, `domain_id`, `source`, `destination`)
VALUES
(‘1’, ‘1’, ‘[email protected]’, ’[email protected]’);

Закрываем MySQL:

Настройка Postfix

Переходим, непосредственно, к параметрам Postfix. Нам нужно, чтобы почтовый клиент мог отправлять сообщения от имени введённых в базу пользователей и обрабатывал SMTP-соединение. Для начала создадим бэкап конфигурационного файла, чтобы в случае чего можно было вернуться к стандартным настройкам:

cp /etc/postfix/main.cf /etc/postfix/main.cf.orig

Теперь открываем файл с конфигурациями:

nano /etc/postfix/main.cf

Вместо nano вы можете использовать любой удобный для вас текстовый редактор.

Откомментируем параметры TLS, а также добавим другие. Здесь использованы бесплатные SSL:

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem
smtpd_tls_key_file=/etc/ssl/private/dovecot.pem
smtpd_use_tls=yes
smtpd_tls_auth_only = yes

После этого добавим ещё ряд параметров:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination

Также нам необходимо откомментировать настройки mydestination и изменить их на localhost:

#mydestination = primer.ru, namehost.primer.ru, localhost.primer.ru, localhost
mydestination = localhost

Параметр myhostname должен содержать наше доменное имя:

myhostname = namehost.primer.ru

Теперь добавляем строку для отправки сообщений на все домены, перечисленные в таблице MySQL:

virtual_transport = lmtp:unix:private/dovecot-lmtp

Добавляем ещё три параметра, чтобы Postfix мог соединиться с таблицами MySQL:

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Настройка файлов MySQL и Postfix

Создаём файл

mysql-virtual-mailbox-domains.cf

Добавляем в него эти значения:

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = examplemail
query = SELECT 1 FROM virtual_domains WHERE name=’%s’

Перезапускаем Postfix:

service postfix restart

Тестируем домен для Постфикс:

postmap -q primer.ru mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Создаём ещё один файл:

nano /etc/postfix/mysql-virtual-mailbox-maps.cf
user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = examplemail
query = SELECT 1 FROM virtual_users WHERE email=’%s’

Перезагружаем Постфикс:

service postfix restart

Затем снова проверяем Postfix:

postmap -q [email protected] mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

Если всё сделано правильно, должно выводиться

Создаём последний файл - для псевдонимов:

nano /etc/postfix/mysql-virtual-alias-maps.cf
user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = examplemail
query = SELECT destination FROM virtual_aliases WHERE source=’%s’

service postfix restart

Последний раз тестируем:

postmap -q [email protected] mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Делаем резервные копии для семи файлов, которые будем менять:

cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig

Это образец команды. Вводим ещё шесть таких же для этих файлов:

/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-ssl.conf

Открываем первый файл:

nano /etc/dovecot/dovecot.conf

Проверьте, откомментирован ли этот параметр:

Include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap lmtp

Include_try /usr/share/dovecot/protocols.d/*.protocol line

Редактируем следующий файл:

nano /etc/dovecot/conf.d/10-mail.conf

Находим строчку mail_location, снимаем комментарий, ставим следующий параметр:

mail_location = maildir:/var/mail/vhosts/%d/%n

Находим mail_privileged_group, ставим туда:

mail_privileged_group = mail

Проверяем доступ. Вводим команду:

Доступ должен выглядеть следующим образом:

Создаём папку для каждого зарегистрированного домена:

mkdir -p /var/mail/vhosts/primer.ru

Создаём пользователя и группу с идентификатором 5000:

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/mail

Меняем владельца на пользователя VMail:

chown -R vmail:vmail /var/mail

Редактируем следующий файл:

nano /etc/dovecot/conf.d/10-auth.conf

Раскомментируем текст аутентификации и добавляем строку:

disable_plaintext_auth = yes

Изменяем следующий параметр: