Postfix и Dovecot: Как установить и настроить почтовый сервер на Linux Ubuntu
В этой статье мы подробно рассмотрим, как установить и настроить почтовый сервер Postfix с Dovecot в Linux Ubuntu.Как настроить почтовый сервер чтобы ваша почта не попала в спам, как добавить DNS записи SPF, DKIM и DMARC. Шаг за шагом мы пройдемся по процессу установки и настройки, чтобы вы смогли создать свой собственный почтовый сервер на своем компьютере!
- Шаг 1. Что нужно для установки
- Шаг 2. Задайте имя хоста и создайте записи DNS для домена
- Шаг 3. Установка почтового сервера Postfix в Ubuntu
- Шаг 4. Тестирование почтового сервера Postfix на Ubuntu
- Шаг 5. Установка Dovecot IMAP и POP в Ubuntu
- Вопросы и ответы
- Комментарии
Создание почтового сервера на машинах под управлением Linux может быть одной из самых важных вещей, которую должен сделать каждый системный администратор. Если вы впервые настраиваете свой сервер, то столкнетесь с множеством моментов, которые нужно учесть при его настройке. В этой статье мы рассмотрим, как сделать первичную настройку сервера, как установить почтовый агент postfix, почтовый север dovecot и как их настроить для правильной работы.
Postfix — это агент передачи почты (MTA) с открытым исходным кодом, который можно использовать для маршрутизации и доставки электронной почты в системе Linux.
Dovecot — это агент доставки почты, написанный в первую очередь с учетом требований безопасности. Я покажу, как его настроить в качестве сервера IMAP или POP3.
Шаг | Этап | Описание |
---|---|---|
1 | Что нужно для установки | 1. Доступ к серверу с Ubuntu. 2. Административные права (root доступ) или доступ через sudo .3. Доменное имя или поддомен для почтового сервера. 4. Возможность создания записей DNS для вашего домена. |
2 | Введите имя хоста и создайте записи DNS для домена | 1. Установите имя хоста командой:sudo hostnamectl set-hostname mail.example.com 2. Настройте DNS-записи для домена: – A-запись: Указывает на IP-адрес вашего сервера. – MX-запись: Указывает на доменное имя почтового сервера (например, mail.example.com). |
3 | Установка почтового сервера Postfix в Ubuntu | 1. Обновите список пакетов: sudo apt update 2. Установите Postfix: sudo apt install postfix 3. Во время установки выберите режим Internet Site и введите домен. 4. Измените конфигурационный файл Postfix: sudo nano /etc/postfix/main.cf 5. Добавьте или измените следующие параметры: myhostname = mail.example.com |
4 | Тестирование почтового сервера Postfix на Ubuntu | 1. Перезапустите Postfix: sudo systemctl restart postfix 2. Отправьте тестовое письмо командой: echo "Тестовое письмо" | mail -s "Test" user@example.com 3. Проверьте журнал Postfix: sudo tail -f /var/log/mail.log |
5 | Установка Dovecot IMAP и POP в Ubuntu | 1. Установите Dovecot IMAP и POP3: sudo apt install dovecot-imapd dovecot-pop3d 2. Измените конфигурационный файл Dovecot: sudo nano /etc/dovecot/dovecot.conf 3. Добавьте или проверьте следующие параметры: protocols = imap pop3 lmtp 4. Перезапустите Dovecot: sudo systemctl restart dovecot |
Шаг 1. Что нужно для установки
Для начала установки вам потребуется настроенный с полным доменным именем (FQDN), сервер Linux Ubuntu. На сервере нужно добавить пользователя без root полномочий, но с привилегиями sudo. И открыть соответствующие порты в вашей сети. Сервер с нужными настройками у меня уже есть, настроены порты для него, осталось добавить пользователя и приступать к установке почтовых приложений.
Для добавления пользователя откройте терминал, сочетанием клавиш Ctrl + Alt + T, и выполните такую команду:
adduser demo
Задаем ему новый пароль, остальные значения оставляем без изменений, при желании вы можете указать любую дополнительную информацию. Теперь у вас есть новая учетная запись пользователя с правами обычной учетной записи. Однако иногда вам нужно будет выполнять административные задачи в качестве пользователя root.
Чтобы избежать выхода из вашего обычного пользователя и повторного входа в качестве учетной записи root, вы можете настроить так называемые привилегии суперпользователя или root для обычной учетной записи вашего пользователя. Это позволит запускать команды с административными привилегиями, поставив слово sudo перед командой.
Для добавления привилегий нужно добавить нового пользователя в системную группу sudo, выполнив команду:
usermod -aG sudo demo
Шаг 2. Задайте имя хоста и создайте записи DNS для домена
Следующее что нужно сделать это установить действительное доменное имя для вашего сервера.
Для этого есть специальная команда hostnamectl:
sudo hostnamectl set-hostname hetmansoftware.com
Затем нужно добавить MX и A записи для домена в панель управления DNS. Эти записи будут указывать другим почтовым агентам что ваш домен отвечает за доставку электронной почты.
Откройте панель управления DNS и добавьте эти записи, нужно указать публичный IP адрес вашего сервера.
Шаг 3. Установка почтового сервера Postfix в Ubuntu
Теперь можно приступать к установке почтового агента Postfix.
Для его установки выполните такую команду:
$ sudo apt-get install postfix
В открывшемся окне - Postfix Configuration, жмем – Ок. Далее система предложит выбрать тип настройки почты, здесь нужно выделить - «Internet Site» - Enter.
В следующем окне нужно ввести доменное имя, которое будет использоваться для отправки электронной почты. После установки Postfix он автоматически запустится и создаст конфигурационный файл в /etc/postfix/main.cf .
Вы можете проверить версию Postfix и статус службы, используя следующие команды.
$ sudo systemctl status postfix
Если нужно изменить конфигурацию введите команду
sudo dpkg-reconfigure postfix
Жмем – Ок и нужно выделить - «Internet Site» - Enter. В следующем окне нужно ввести доменное имя, которое будет использоваться для отправки электронной поты. Затем получателя почты. Указать другие направления для приема почты.
Принудительно синхронизировать обновления в почтовой очереди: Нет. Локальные сети оставляем без изменений.
Ограничение размера почтового ящика: 0. Символ расширения локального адреса: +. Используемые интернет-протоколы: все.
Шаг 4. Тестирование почтового сервера Postfix на Ubuntu
Теперь проверим, подключен ли наш почтовый сервер к порту 25, используя следующую команду.
$ telnet gmail-smtp-in.l.google.com 25
Выведенный системой результат указывает что соединение успешно установлено. Чтобы закрыть соединение введите – quit.
Также для проверки почты можно использовать почтовую программу. Но сперва ее нужно установить, выполните команду установки
apt install mailutils
Для этого выполните такую команду.
/usr/sbin/sendmail dmitriyzh23@gmail.com
Укажите почтовый адрес для отправки письма, тему, и содержимое, затем Сtrl + D для отправки.
Почта работает, письмо дошло, но попало в спам, далее мы рассмотрим, какие еще нужно внести настройки, чтобы почта не попадала в спам.
После отправки первого письма в папке var/mail/ Программа создаст файл с именем пользователя, в этом файле будет записываться вся входящая и исходящая почта.
Такой формат записи называется - mbox. Для использования формата – maildir, который разделяет сообщения на отдельные файлы, которые затем перемещаются между каталогами в зависимости от действий пользователя, нужно внести изменения в файл конфигурации.
Sudo nano /etc/postfix/main.cf
Добавляем строку home_mailbox= Maildir/:
Или выполним команду
sudo postconf -e 'home_mailbox= Maildir/'
В таком случае почта будет храниться в отдельных файлах по такому пути: home/demo/Maildir/new
Шаг 5. Установка Dovecot IMAP и POP в Ubuntu
В итоге почтовый сервер уже работает, можно отсылать и принимать почту, но вряд ли он обойдется без возможности отправки почты по SMTP. Поддержка этого протокола уже есть в Postfix, но по умолчанию там нет никакой авторизации. Для добавления поддержки авторизации следует использовать Dovecot. Как бонус вы получите возможность просматривать ваши письма по протоколам POP3 и IMAP. Сначала надо установить сам сервис Dovecot для его установки выполните такую команду:
sudo apt-get install dovecot-imapd dovecot-pop3d
После установки рекомендуется перезапустить службу – dovecot.
sudo systemctl restart dovecot
Чтобы настроить dovecot вам потребуется отредактировать файл /etc/dovecot/dovecot.conf. Чтобы открыть его выполните следующую команду
nano /etc/dovecot/dovecot.conf:
Вы можете выбрать какой протокол использовать. Это может быть pop3, pop3s (безопасный pop3), imap или imaps (безопасный imap). IMAPS и POP3S более безопасные чем обычные IMAP и POP3, поскольку используют SSL шифрование для соединения. Как только вы выберете протокол, исправьте следующую строку в файле dovecot.conf
Чтобы открыть его выполните следующую команду
nano /etc/dovecot/dovecot.conf:
Добавьте (Измените) эту строку
protocols = pop3 pop3s imap imaps
Ctrl + Х, и yes для сохранения - Enter.
Теперь проверим работу POP3. Переходим на сервис проверки, вводим данные, start test и смотрим результат.
Итак, почту мы настроили, теперь нужно сделать так чтобы она не попадала в спам, для этого нужно добавить еще несколько DNS записей. Открываем панель управления DNS. Добавляем записи SPF, DMARC и DKIM.
Как добавить DKIM запись
Для работы SPF и DMARC достаточно добавить их DNS записи, для работы DKIM нужно его установить на сервере.
«DKIM (DomainKeys Identified Mail)» — метод E-mail аутентификации, разработанный для обнаружения подделывания сообщений, пересылаемых по email. Dkim дает возможность получателю проверить, что письмо действительно было отправлено с заявленного домена.
Для установки пакета выполните такую команду.
apt-get install opendkim opendkim-tools
Затем запускаем и добавляем в автозагрузку
sudo systemctl start opendkim
sudo systemctl enable opendkim
Далее, нужно создать сертификат, с помощью opendkim-genkey
Создаем каталог для ключей, такой командой
mkdir /etc/opendkim
И генерируем ключ такой командой
opendkim-genkey -D /etc/opendkim/ --domain hetmansoftware.com --selector mail
Здесь нужно указать доменное имя вашего сервера.
В папке /etc/opendkim/ должно появиться два файла с расширениями .private (закрытый ключ) и .txt (txt-запись). Далее настроим DNS.
Смотрим содержимое файла txt:
cat /etc/opendkim/mail.txt
Копируем содержимое, переходим в панель управления DNS и создаем TXT-запись:
mail._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"содержимое txt файла"
mail - название нашего селектора,
p= p=MIIBIjANB...IDAQAB - сокращенная запись открытого ключа.
sudo chown -R opendkim:opendkim /etc/opendkim
Теперь внесем изменения в конфигурационном файле
sudo nano /etc/opendkim.conf
Здесь нужно раскоментировать и добавить несколько строк
AutoRestart Yes
AutoRestartRate 10/1h
Umask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Mode sv
Canonicalization relaxed/simple
UserID opendkim:opendkim
Socket inet:8891@localhost
PidFile /var/run/opendkim/opendkim.pid
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
SignatureAlgorithm rsa-sha256
Добавим наш домен в доверенные хосты.
sudo nano /etc/opendkim/TrustedHosts
Добавляем домен, Сtrl + Х, yes, Enter:
Нужно указать путь к ключу.
sudo nano /etc/opendkim/KeyTable
mail._domainkey.hetmansoftware.com hetmansoftware.com:mail:/etc/opendkim/dkim.private
Сtrl + Х, yes, Enter
Путь к подписи
sudo nano /etc/opendkim/SigningTable
*@hetmansoftware.com mail._domainkey.hetmansoftware.com
Сtrl + Х, yes, Enter
Перезапускаем сервисы
sudo systemctl restart opendkim
sudo systemctl restart postfix
Итак, запись добавили теперь проверим ее. Открываем в браузере сервис проверки DKIM.
https://dmarcian.com/dkim-inspector/
Вводим в поля домен и имя селектора. Сервис нашел мою DKIM запись.
Запись добавлена, для более детальной настройки, добавление доверенных хостов, доменов и т.д. нужно открыть конфигурационный файл и внести дополнительные настройки.
Теперь еще раз проверим отправку почты.
/usr/sbin/sendmail dmitriyzh23@gmail.com
From: demo@hetmansoftware.com
Subject: test
Test send mail spf dkim dmarc
Ctrl + D
Письмо дошло, и на этот раз не попало в спам. Отправим ответ на письмо. Почта работает.
Мы установили и настроили почтовый агент postfix и dovecot, проверили работу почты и добавили соответствующие DNS записи. Для более удобной работы можно добавить сервер хранения MySql и почтовый клиент, к примеру Roundcube.
Конечно, я помогу вам разобраться с этой проблемой. Вот несколько шагов, которые вы можете предпринять, чтобы решить эту проблему в Thunderbird:
Проверьте правильность настроек учетной записи:
Убедитесь, что вы правильно ввели все настройки для вашей почтовой учетной записи в Thunderbird. Это включает в себя сервер входящей и исходящей почты (IMAP/POP3 и SMTP соответственно), порты, тип шифрования, имя пользователя и пароль.
Проверьте настройки безопасности:
Убедитесь, что ваш антивирус или брандмауэр не блокирует доступ Thunderbird к Интернету или не сканирует трафик. Иногда антивирусные программы или брандмауэры могут препятствовать правильной работе почтовых клиентов.
Обновите Thunderbird:
Убедитесь, что у вас установлена последняя версия Thunderbird. Иногда проблемы могут быть связаны с устаревшей версией программы.
Проверьте конфликты расширений:
Отключите все расширения и темы в Thunderbird и попробуйте добавить учетную запись снова. Иногда расширения могут вызывать конфликты или проблемы с настройкой почтовых аккаунтов.
Попробуйте создать учетную запись вручную:
Вместо использования автоматической настройки учетной записи в Thunderbird, попробуйте создать учетную запись вручную, введя все необходимые настройки вручную.
Проверьте ошибки в консоли:
Если проблема сохраняется, попробуйте открыть консоль ошибок Thunderbird. Для этого выберите "Инструменты" -> "Консоль ошибок" и посмотрите, есть ли там какие-либо ошибки, связанные с добавлением учетной записи.
Обратитесь к провайдеру почты:
Иногда проблема может быть связана с почтовым сервером или настройками вашей учетной записи. Попробуйте связаться с вашим почтовым провайдером или администратором почтового сервера для получения дополнительной помощи.
Попробуйте эти шаги, и если проблема все еще не будет решена, пожалуйста, уточните, какие конкретные шаги вы предприняли и если есть какие-либо ошибки, которые вы видите в Thunderbird, чтобы я мог предоставить более точные рекомендации.
Добрый день!
Проблемы, с которыми вы сталкиваетесь при настройке и использовании почтовых ящиков, могут быть вызваны различными факторами. В данном случае, ошибка "Не удалось подключиться к IMAP-серверу" может указывать на ограничение количества соединений к серверу, а ошибка "Relay access denied" при отправке писем говорит о том, что сервер не разрешает пересылку писем.
Для решения проблемы, вам стоит проверить следующие варианты:
Количество соединений к серверу: Убедитесь, что настройки на сервере Postfix разрешают достаточное количество соединений для всех пользователей. В файле конфигурации Postfix (обычно /etc/postfix/main.cf) найдите параметр max_connections или maxproc и увеличьте его значение, если это необходимо.
Ограничение по IP-адресам: Postfix может иметь ограничения на число подключений или пересылок для конкретных IP-адресов. Проверьте настройки ваших клиентских приложений (Thunderbird) и убедитесь, что они не отправляют слишком много запросов на сервер Postfix. Возможно, потребуется адаптировать настройки приложений или Postfix для работы в согласовании.
Настройки безопасности: Убедитесь, что настройки безопасности в Postfix не запрещают пересылку писем. В файле конфигурации main.cf убедитесь, что параметр smtpd_recipient_restrictions содержит правила, которые позволяют клиентам отправлять почту через сервер.
Проверьте настройки Thunderbird: Убедитесь, что все настройки в Thunderbird указаны правильно. Проверьте, что используются правильные порты, типы шифрования (SSL/TLS), аутентификация и другие параметры.
Аутентификация на SMTP: Если проблема с отправкой писем на внешние адреса, убедитесь, что на сервере Postfix настроена аутентификация для отправки писем. Вам может потребоваться настроить параметры smtpd_sasl_auth_enable и smtpd_sasl_security_options в main.cf для поддержки аутентификации.
Логи сервера: Проверьте логи Postfix для получения дополнительной информации о возникающих ошибках. Обычно логи находятся в /var/log/mail.log или /var/log/maillog.
Обновления и перезагрузка сервиса: Убедитесь, что у вас установлена последняя версия Postfix и других соответствующих компонентов. Перезагрузите сервис Postfix после внесения изменений в конфигурацию.
Проверьте права доступа: Убедитесь, что права доступа на файлы и директории Postfix настроены правильно и позволяют обрабатывать запросы от клиентов.
Проблема связана с тем, что SMTP-сервер Gmail не отвечает на запросы вашего сервера. Это может быть связано с блокировкой порта 25 на вашем сервере или с блокировкой вашего IP-адреса Gmail.
Варианты решения:
Убедитесь, что порт 25 не заблокирован на вашем сервере. Если блокировка есть, то необходимо ее снять.
Попробуйте отправить письмо с другого IP-адреса, чтобы проверить, не заблокирован ли ваш IP-адрес на стороне Gmail.
Если проблема продолжается, то возможно, необходимо настроить DNS-записи вашего домена и SPF-записи, чтобы повысить вероятность успешной доставки почты.
Также стоит обратиться к службе поддержки Gmail для выяснения причин блокировки вашего сервера или IP-адреса.
При настройке почтового клиента для работы с протоколом POP3 (Post Office Protocol version 3), вам понадобятся следующие данные:
Имя пользователя (логин): Обычно это ваше полное адрес электронной почты, например, "example@example.com".
Пароль: Это пароль, который вы используете для доступа к вашей почте.
Почтовый сервер входящей почты (POP3-сервер): Вам нужно будет указать адрес входящего почтового сервера, предоставляемого вашим почтовым провайдером. Обычно это что-то вроде "pop.example.com" или "mail.example.com". Чтобы узнать правильные настройки сервера, вам следует обратиться к почтовому провайдеру или проверить его документацию.
Порт POP3: По умолчанию порт POP3 - 110, но могут быть и другие порты. Некоторые провайдеры могут использовать безопасное соединение POP3 через SSL/TLS на порту 995. Проверьте настройки вашего провайдера для уточнения используемого порта.
Когда у вас есть эти данные, вы можете использовать их для настройки почтового клиента или программы для работы с электронной почтой, поддерживающих протокол POP3. Обычно в настройках почтового клиента есть соответствующий раздел, где вы можете указать эти данные.
Здравствуйте! Действительно, порт 25 может быть заблокирован на AWS для предотвращения нежелательной почтовой активности.
Для отправки почты через порты 465 или 587, вам действительно нужен SSL сертификат. Вы можете использовать сертификат от организации, которая выдает бесплатные SSL-сертификаты, такие как Let's Encrypt.
Другой вариант - использовать внешний SMTP-сервер, который можно использовать для отправки электронной почты без настройки SSL-сертификатов. В этом случае, вам нужно будет настроить свой почтовый клиент или программу на использование внешнего SMTP-сервера.
Я надеюсь, что это помогло! Если у вас есть другие вопросы, пожалуйста, не стесняйтесь спросить.
Postfix.
Exim.
Qmail.
Dwarf Mail Server.
MailerQ.
Courier Mail Server.
Apache James Server.
"IMAP: шифрованное подключение SSL - 993, без шифрования - 143.
SMTP: шифрованное подключение SSL - 465, без шифрования - 587.
POP3: шифрованное подключение SSL - 995, без шифрования - 110."