Установка почтового сервера Postfix, Dovecot и SquirrelMail в CentOS/Redhat/Fedora

Установка почтового сервера Postfix, Dovecot и SquirrelMail в CentOS/Redhat/Fedora

В данной теме»Установка почтового сервера Postfix, Dovecot и SquirrelMail в CentOS/Redhat/Fedora» я расскажу как я установил Postfix, Dovecot и SquirrelMail в CentOS/Redhat/Fedora. В сочетании именно таких утилит, удобно и хорошо работать.

Первым делом что нам нужно сделать это нужно удалить Sendmail если мы хотим установить Postfix, а они не дружат между собой.

Или:

Следующим действием следует отключение SELinux (если не знаете как это сделать, читаем материал):
Как отключить SELinux на CentOS?

Выше предоставил хороший мануал как это лучше сделать.

Если имеется firewall на сервере, необходимо разрешить доступ к следующим портам:

  • SMTP работает на: 25
  • POP3 работает на: 110
  • IMAP работает на: 143
  • SMTP (безопасный) работает на: 465
  • MSA работает на: 587
  • IMAP (безопасный) работает на: 993
  • POP3 (безопасный) работает на: 995

Нужно выключить iptables для этого выполните:

PS: Не обязательно выключать IPtables, а верным решением — будет проброс нужных портов для использования почты. Для этого, можно ознакомится со следующей статьей:

Открытие портов в IPtables для почты на Linux

Имеется: 

1. Имя хоста : captain-notes
2. Ip адресс : 31.187.70.238
3. Доменное имя ( мой домен) : linux-notes.org

Всю эту информацию можно получить выполнив команду:

Настройка DNS

Очень важно настроить DNS-записи, в частности записи MX, на панели управления доменом. Войдите в свою панель управления доменом и измените настройки DNS, чтобы добавить следующие записи записей MX. Типичная запись MX будет выглядеть следующим образом:

Где MX (Mail Exchangers) — является типом записи. Далее идет значение для хоста, вы можете либо ввести свое доменное имя, либо вы также можете использовать @, который представляет значение имени зоны, которое совпадает с вашим именем домена. Далее вам нужно будет ввести имя хоста или полное доменное имя вашего почтового сервера.

Следующее значение является приоритетом. Самое низкое число является приоритетом. Например, 0 будет иметь наивысший приоритет, а 20 будет иметь более низкий приоритет. Приоритет используется, потому что мы можем добавить несколько записей MX для одного домена, почта пересылается на сервер с самым высоким приоритетом. Если сервер с наивысшим приоритетом недоступен, почта будет перенаправлена ​​на сервер, имеющий второй наивысший приоритет. Далее идет TTL( Time to Live).

Очень важно, чтобы вы также установили запись A для вашего имени хоста полного FQDN почтового сервера. Опять выберите тип — запись A, хост должен быть именем хоста, которое вы используете в своем FQDN, например, в этом случае мы использовали имя хоста как mail.linux-notes.org, следовательно наш хост будет почтой. Затем, в пункте назначения, введите IP-адрес вашего сервера.

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

  •  Используя онлайн утилиты
  • Локально ( через консоль)

Я приведу пример с использованием консоли.

Для начала, смотрим какую информацию содержит домен:

И проверяем какие NS-ы используется:

И, финальная проверка на работоспособность MX:

И на всякий случай:

Как видно с вывода, все работает корректно.

Архитектура почтовых систем

Архитектура почтовых систем, выглядет так:

Архитектура почтовых систем

Архитектура почтовых систем

Но более детально я расскажу немного позже.

И так, я в своей статье приведу пример установки:

  • MTA – почтовый сервер -Postfix (SMTP);
  • MDA – сервер Dovecot (POP3/IMAP);
  • Squirrelmail – веб-интерфейс для пользователей.

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

Теперь, нужно будет создать SSL-сертификаты. Если у вас нет установленного openssl, вы можете установить его, используя следующую команду:

Теперь запустите следующую команду, чтобы создать сертификат и ключ:

Вот пример моего:

А сейчас, можно приступать к установки постфикса.

Но перед тем как мы это сделаем,я создам тестового пользователя для теста  и назову его ‘Postfix’, так же установим мы ему пароль.

Установка почтового сервера — Postfix.

Установим необходимое ПО:

Пожалуй я начну установку почтового сервера под названием postfix:

Нужно сейчас поправить немного конфигурационый файл Postfix.

Раскомментируйте нужные строчки (удалите знак #) в конфиге в вашей конфигурации которые сопоставляются с вашей почтовой системой:

И приводим к такому виду:

  • myhostname: имя хоста системы (зостнейм).
  • mydomain: это доменное имя для почтового сервера (это может быть реальное или фальшивое доменное имя).
  • myorigin: это доменное имя, которое, по-видимому, отправляет и доставляет почту.
  • inet_interfaces: устанавливает сетевые интерфейсы, на которые Postfix может получать почту. Они должны включать по крайней мере localhost и локальный домен.
  • mydestination: список доменов на которые будут доставлена почта (то есть этот сервер является конечным адресом электронной почты, адресованным этим доменам).
  • mynetworks: список доверенных IP-адресов, которые могут отправлять или ретранслировать почту через сервер. Пользователи, пытающиеся отправить электронную почту через сервер ( IP которых не было прописано тут), будут отклонены.
  • relay_domains: список доменов назначения, на которые эта система будет отправлять почту. Установив его пустым, это гарантирует, что наш почтовый сервер не действует как открытое реле для ненадежных сетей.
  • home_mailbox:  задает путь к почтовому ящику относительно домашнего каталога пользователей и также определяет стиль почтового ящика, который будет использоваться. Postfix поддерживает как форматы Maildir, так и mbox, и читателям рекомендуется читать о достоинствах каждого для себя. Однако в этой статье мы выбрали формат Maildir (конечная косая черта указывает формат Maildir. Чтобы указать формат mbox, читатель будет использовать home_mailbox = Mailbox).

Мой готовый и рабочий конфиг…..

Теперь откройте другой конфигурационный файл:

Находим:

И прописываем ( вставляем строки ниже):

Полный конфиг выглядит вот так:

После чего делаем перезапуск постфикса:

или просто запустите выполнив:

Разницы особой нет в этих 2 командах.

PS: Если имеется CentOS/RHEL 7:

Добавим сервис в автозагрузку:

PS: Если имеется CentOS/RHEL 7:

Время протестировать работу сервера. Отправим 1 тестовое письмо.

Этом можно сделать следующим образом:

Так же можно использовать команду:

Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 captain-notes ESMTP Exim 4.77 Sun, 08 Jun 2014 21:00:57 -0400
ehlo localhost                             # Введите данную команду #
250-captain-notes Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
mail from:<mail_user> # Введите эту команду — почта, адрес отправителя. Пользователь Postfix -созданный выше #
250 OK
rcpt to:<mail_user>                     ## Введите этот — адрес электронной почты для приема почты # #
250 Accepted
data                                                # # Введите это вход с электронной почты # #
354 Enter message, ending with «.» on a line by itself
для теста, введу просто слово test                           # # Введите текст письма # #
.                                                        ## Символ «.» (точка) служит для завершения текста письма.##
250 OK id=1WtnyS-0007f6-EV
quit                                                  ## Выход.##
221 captain-notes closing connection
Connection closed by foreign host.
[root@captain-notes linux-notes.org]#

Чтобы увидеть что работает нужно перейти в папку и посмотреть:

Выдаст:
1657554886.Vfd00la67f8M778970.captain-notes

Можно вывести это сообщение с помощью команды «cat». Ниже приведена таблица с командами для postfix.

команды postfix mail

команды postfix mail

Мы установили Postfix SMTP-сервер на CentOS /Redhat/Fedora и следующим шагом будет установка Dovecot.

Добавлю то, что все логи почтового сервера сохраняются  в папке /var/log/mail/. По этому, если нужно прочитать их в реальном режиме времени, выполните:

Иногда нужно бывает посмотреть на очередь сообщений сервера, то делается это:

Можно так же форсировать отправку писем из очереди:

При проверке лога (maillog), получил ошибку:

Решил ее:

Установка Dovecot,POP3/IMAP-сервера на CentOS /Redhat/Fedora

Dovecot является утилитой с открытым исходным кодом IMAP и POP3 почтовый сервер для систем Unix и Linux.Чтобы начать установку, просто выполните команду:

После чего нужно настроить конфигурацию Dovecot.

Редактируйте эти строки, чтобы использовать постфиксное использование пользователя и группу для Dovecot:

И приводим к виду:

Идем далее, открываем следующий файл:

Находим:

Меняем на:

Раскоментируйте (удалите #), чтобы определить каталог почты, которую мы определили в конфигурации Postfix:

Находим

Меняем на:

Почти уже закончили, но нужно изменить следующий файл:

Находим:

Приводим к виду:

Раскомментируйте (удалите #), нужно открыть IMAP, POP3 на Dovecot

Приводим к виду:

Перезапустите службу Dovecot:

Или:

PS: Если имеется CentOS/RHEL 7:

Добавим сервис dovecot в автозагрузку:

PS: Если имеется CentOS/RHEL 7:

Тестовое соединение и проверка почты на Dovecot

Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
+OK Dovecot ready.
user mail_user                                     # # Войдите в систему как пользователь Postfix  # #
+OK
pass mail_user_password                                   # # Ввод пароля пользователя # #
+OK Logged in.
list
+OK 1 messages:
1 442
.
retr 1
+OK 442 octets
Return-Path: <Postfix@linux-notes.org>
X-Original-To: Postfix
Delivered-To: Postfix@linux-notes.org
Received: from localhost (localhost [127.0.0.1])
by mail.linux-notes.org (Postfix) with ESMTP id D2897A1DFE
for <admin>; Sat, 12 March 2014 04:32:17 -0700 (PDT)
Message-Id: <20141111123232.D2897A1DFE@mail.linux-notes.org>
Date: Sat, 12 Oct 2013 04:32:17 -0700 (PDT)
From: Postfix@linux-notes.org
To: undisclosed-recipients:;test
.
quit
+OK Logging out.
Connection closed by foreign host.

Мы установили Dovecot на нашем сервере Mail. Пользоваться консольной отправкой писем неудобно,по этому я установлю веб-интерфейс, на примере Squirrelmail.

Нужно установить SquirrelMail.

Установите репозиторий EPEL на CentOS / Redhat/Fedora

И выполните команду для установки:

Настройка Squirrelmail  измените параметры в зависимости от требований.

главное меня Squirrelmail для установки

главное меня Squirrelmail для установки

Начнем по порядку, вводим цифру 1.

конфигурация SquirrelMail

конфигурация SquirrelMail

Введите название организации и нажмите Enter:
linux-notes.org

К таким образом, настройте все детали, такие как организация, логотип, название провайдера в приведенном выше мастера. После того как вы закончите, нажмите кнопку «S», чтобы сохранить изменения и нажмите «R», чтобы вернуться обратно в главное меню.

Теперь введите «2» и перейдем к настройкам сервера почты, нужно тут будет ввести доменное имя и почтового агент и т.д.:

конфигурация SquirrelMail, вкладка под номером 2

конфигурация SquirrelMail, вкладка под номером 2

Введите «1», ввод почтового домена (например у меня это linux-notes.org) и нажмите клавишу ввода.

Введите «3» и перейдите от Sendmail к Postfix (т.е. SMTP):

конфигурация SquirrelMail, вкладка под номером 3

конфигурация SquirrelMail, вкладка под номером 3

Введите «2», чтобы переключиться с почтовой системы Sendmail на Postfix как показано на рисунке ниже.

переключиться с почтовой системы Sendmail на Postfix

переключиться с почтовой системы Sendmail на Postfix

Теперь введите «S», а затем «Q» для сохранения и выхода конфигурацию с Squirrelmail.

Теперь нужно создать squirrelmail виртуальный хост в конфиге апача:

После все всей установки я создам пользователя captainua и создадим ему пароль:

Чтобы проверить работу перейдите по ссылке:
http://your_ip_server/squirrelmail/src/configtest.php

Чтобы начать пользоваться почтой перейдите по ссылке:
http://your_ip_server/squirrelmail/src/login.php

Включим свои iptables:

Вот и все пока. Мы успешно настроили локальный почтовый сервер, который будет служить для приема / отправки писем в локальной сети. Но если хотите настроить общественный почтовый сервер для отправки и получения почты для внешней вашей сети, то вы должны настроить почтовый сервер с открытым IP и вписать MX- записи вашего почтового сервера в их DNS-сервера, и все, готово! Все будет так же, как я описал выше.На этом я завершу свою тему «Установка почтового сервера Postfix, Dovecot и SquirrelMail в CentOS/Redhat/Fedora». Спасибо что используете мой сайт.

3 thoughts on “Установка почтового сервера Postfix, Dovecot и SquirrelMail в CentOS/Redhat/Fedora

  1. Отличная статья!
    Очень мне помогла в настройке простой домашней почтовой системы для проверки нотификаций.

    Автор молодец! так держать.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *