Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.
Пожалуйста, обратите внимание, что вопросы безопасности почтового сервера за сферой данного урока, и они освещены в статье "Как установить Clam Antivirus, SpamAssassin и MailScanner на почтовом сервере под Ubuntu".
Предварительные требования
Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.
Прямая зона для example.tst:
Обратная зона для example.tst:
Когда настраивается живой почтовый сервер, эти записи могут быть изменены, в соответствии с системными требованиями.
Настройка имени хоста (hostname)
Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.
Добавление пользователей
Каждый пользователь Linux, по умолчанию, имеет автоматически созданный почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как почтовые учётные записи и соответствующие им адреса почтовых ящиков. Создание пользователя очень простое.
Установка и настройка SMTP
SMTP: Установка postfix
Во время установки задаются тип почтового сервера и доменное имя.
Так как почтовый сервер будет отправлять письма напрямую к месту назначения, то нужно использовать "Интернет-сайт".
Также задаём доменное имя почтового сервера. Эта настройка определяет, что все письма, приходящие с этого почтового сервера, будут иметь @example.tst в качестве домена отправителя.
Конфигурационные файлы postfix размещены в
SMTP: Настройка конфигурационных файлов
Время приготовить конфигурационные файлы. Файлы transport и aliases не поставляются при установке, их нужно создать вручную.
Обратите внимание: Синтаксис 'userA: userB' определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.
SMTP: Запуск и обслуживание
postfix может быть запущен командой.
Лог-файл в
Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.
Установка и настройка POP/IMAP
POP/IMAP: Установка dovecot
Прямо из коробки dovecot может поддерживать POP3 и IMAP (обычный текст), а также зашифрованный POP3S и IMAPS (безопасный).По умолчанию dovecot создаёт и использует самоподписанный сертификат для SSL шифрования. Сертификаты могут быть созданы вручную или ипортированы позже, в зависимости от требований. В этом уроке будет использован сапомодписанный сертификат, сгенерированный dovecot.
На последних версиях больше не создаёт. Сертификаты нужно создавать вручную и вручную подключать их. Как это сделать, описано в этой инструкции.
POP/IMAP: Подготовка конфигурационных файлов
Следующие параметры изменяются как нужно.
Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.
POP/IMAP: Установка службы
Сейчас, когда dovecot установлен и настроен, он может быть запущен, используя следующую команду.
[/CODE=bash]root@mail:~# service dovecot restart[/CODE]
Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.
Использование почтового сервера с пользовательской почтовой программой
Почтовый сервер теперь готов к использованию. Почтовая учётная запись может быть настроена с использованием вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне. Можно настроить и webmail (почту с веб-интерфейсом) на сервере, но инструкция по webmail будет в следующих уроках. На данном этапе, почтовая программа Mozilla Thunderbird определила следующие настройки для моего сервера:
Крайне рекомендуется перейти и продолжить по этой инструкции для включения SSL шифрования.
Решение проблем с почтовым сервером
Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.
Внимание: Для тех, кто хочет развернуть живой почтовый сервер, или любой почтовый сервер, который имеет доступ в Интернет, убедитесь, что ваш SMTP обезопасен. Обычно атаки на SMTP происходят из Интернета, так и от зловредных программ внутри локальной сети.
Надеюсь это поможет.
Эти программы нельзя установить на
Вообще, тема почты очень близка авторам codeby.net, мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.ru да и вообще к любому популярному почтовому ящику, как создать свою автономную почту на
Пожалуйста, обратите внимание, что вопросы безопасности почтового сервера за сферой данного урока, и они освещены в статье "Как установить Clam Antivirus, SpamAssassin и MailScanner на почтовом сервере под Ubuntu".
Предварительные требования
Каждый домен должен иметь запись на 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. Причём в первом файле следует размещать только имя хоста.
Bash:
root@mail:~# vim /etc/hostname
mail
Bash:
root@mail:~# vim /etc/hosts
Код:
## IP Полностью определённое доменное имя Имя хоста ##
192.168.10.1 mail.example.tst mail
Добавление пользователей
Каждый пользователь Linux, по умолчанию, имеет автоматически созданный почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как почтовые учётные записи и соответствующие им адреса почтовых ящиков. Создание пользователя очень простое.
Bash:
root@mail:~# adduser alex
Установка и настройка SMTP
Профиль службы: postfix | |
Каталог с конфигурационными файлами | /etc/postfix/ |
Скрипт | /etc/init.d/postfix |
Лог-файл | /var/log/mail.log |
Номер порта | TCP/25 |
SMTP: Установка postfix
Ссылка скрыта от гостей
это один из наиболее используемых SMTP серверов, поскольку он стабильный, лёгкий, масштабируемый и высоко настраиваемый. Установка postfix может быть выполнена использованием apt-get.
Bash:
root@mail:~# apt-get install postfix
Во время установки задаются тип почтового сервера и доменное имя.
Так как почтовый сервер будет отправлять письма напрямую к месту назначения, то нужно использовать "Интернет-сайт".
Также задаём доменное имя почтового сервера. Эта настройка определяет, что все письма, приходящие с этого почтового сервера, будут иметь @example.tst в качестве домена отправителя.
Конфигурационные файлы postfix размещены в
/etc/postfix
Важны следующие конфигурационные файлы. Некоторые из них могут отсутствовать и их нужно создать вручную.- transport: В первую очередь используется для определения, как почта должна быть направлена в направлении конкретного домена назначения. Это тот случай, когда кому-то может быть потребуется отправлять почту, предназначенную для домена XYZ.com, напрямую на IP адрес X.Y.Y.X независимо от каких-либо результатов запросов DNS.
- access: Может быть использован в целях безопасности, например для блокирования отправителей/получателей и их доменов.
- aliases: Используется для задания пользовательских псевдонимов. Например, почта отправленная пользователю userA должна быть принята пользователем userB, а также пользователем userC.
- main.cf: Это конфигурационный файл для postfix.
SMTP: Настройка конфигурационных файлов
Время приготовить конфигурационные файлы. Файлы transport и aliases не поставляются при установке, их нужно создать вручную.
Bash:
root@mail:~# cd /etc/postfix
root@mail:/etc/postfix# touch transport aliases
- main.cf
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
.
Bash:
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
Bash:
root@mail:/etc/postfix# vim transport
example.tst local:
.example.tst local:
root@mail:/etc/postfix# postmap transport
- aliases
Bash:
root@mail:/etc/postfix# vim aliases
userA: userA, userB
root@mail:/etc/postfix# postalias aliases
Обратите внимание: Синтаксис 'userA: userB' определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.
SMTP: Запуск и обслуживание
postfix может быть запущен командой.
Bash:
root@mail:~# service postfix restart
/var/log/mail.log
должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat
Bash:
root@mail:~# netstat -nat
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
Установка и настройка POP/IMAP
Профиль службы: dovecot | |
Директория конфигурационных файлов | /etc/dovecot |
Скрипт | /etc/init.d/dovecot |
Файл журнала | /var/log/mail.log |
Номер порта | TCP: 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S) |
POP/IMAP: Установка dovecot
Ссылка скрыта от гостей
— это, без сомнений, лидирующее IMAP и POP серверное программное обеспечения в сообществе опен сорс. Очень просто установить и настроить dovecot. Для установки dovecot мы опять будем использовать apt-get.
Bash:
root@mail:~# apt-get install dovecot-common dovecot-pop3d dovecot-imapd
Прямо из коробки dovecot может поддерживать POP3 и IMAP (обычный текст), а также зашифрованный POP3S и IMAPS (безопасный).
На последних версиях больше не создаёт. Сертификаты нужно создавать вручную и вручную подключать их. Как это сделать, описано в этой инструкции.
POP/IMAP: Подготовка конфигурационных файлов
Следующие параметры изменяются как нужно.
Bash:
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: Установка службы
Сейчас, когда dovecot установлен и настроен, он может быть запущен, используя следующую команду.
[/CODE=bash]root@mail:~# service dovecot restart[/CODE]
Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.
Bash:
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 определила следующие настройки для моего сервера:
Крайне рекомендуется перейти и продолжить по этой инструкции для включения SSL шифрования.
Решение проблем с почтовым сервером
- Лучший ваш друг – это лог-файл
/var/log/mail.log
Любые зацепки, почему почта не работает, могут быть найдены здесь. - Убедитесь, что файервол должным образом настроен.
- Убедитесь, что DNS сервер имеет должные записи.
Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.
Внимание: Для тех, кто хочет развернуть живой почтовый сервер, или любой почтовый сервер, который имеет доступ в Интернет, убедитесь, что ваш SMTP обезопасен. Обычно атаки на SMTP происходят из Интернета, так и от зловредных программ внутри локальной сети.
Надеюсь это поможет.
Эти программы нельзя установить на
Ссылка скрыта от гостей
. Полностью автономный почтовый сервер можно сделать только на виртуальном частном (выделенном) сервере, т. е. На VDS (VPS). Самые дешёвые облачные VDS (VPS) сервера! За 180 рублей/мес — эта статья, как следует из заголовка, расскажет вам о качественном и при этом самом дешёвом варианте виртуального частного сервера, которые при этом ещё и используют облачные технологии.Вообще, тема почты очень близка авторам codeby.net, мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.ru да и вообще к любому популярному почтовому ящику, как создать свою автономную почту на
Ссылка скрыта от гостей
и т. д. Всё это и многое другое вы сможете найти по тегу своя почта.