Як встановити та налаштувати поштовий сервер postfix з dovecot у Linux Ubuntu

Як встановити та налаштувати поштовий сервер postfix з dovecot, як налаштувати поштовий сервер щоб ваша пошта не потрапила до спаму, як додати DNS записи SPF, DKIM та DMARC, про все це читайте у нашій статті.

Як встановити та налаштувати поштовий сервер postfix з dovecot у Linux Ubuntu

Створення поштового сервера на машинах під керуванням Linux може бути однією з найважливіших речей, яку має зробити кожен системний адміністратор. Якщо ви вперше налаштовуєте свій сервер, то зіткнетеся з безліччю моментів, які потрібно врахувати під час його налаштування. У цій статті ми розглянемо, як зробити первинне налаштування сервера, як встановити поштовий агент postfix, поштовий сервер dovecot, та як налаштувати їх для правильної роботи.

Postfix — це агент передачі пошти (MTA) з відкритим вихідним кодом, який можна використовувати для маршрутизації та доставки електронної пошти в Linux.

Dovecot — це агент доставки пошти, написаний насамперед з урахуванням вимог безпеки. Я покажу, як його налаштувати як сервер IMAP або POP3.

Перейти до перегляду
🐧 Файлова система BtrFS. Як відновити дані з BtrFS RAID? 🐧

🐧 Файлова система BtrFS. Як відновити дані з BtrFS RAID? 🐧

Що потрібно для встановлення

Для початку установки вам знадобиться налаштований з повним доменним ім’ям (FQDN), сервер Linux Ubuntu. На сервері потрібно додати користувача без root повноважень, але із привілеями sudo. І відкрити відповідні порти у вашій мережі. Сервер з потрібними налаштуваннями я вже маю, а також налаштовані порти для нього. Залишилося додати користувача і приступати до встановлення поштових додатків.

Для додавання користувача відкрийте термінал (поєднанням клавіш Ctrl+Alt+T), та виконайте таку команду:

adduser demo

Додавання користувача через термінал

Задаємо йому новий пароль, решту значень залишаємо без змін, за бажання ви можете вказати будь-яку додаткову інформацію. Тепер у вас є новий обліковий запис користувача з правами звичайного облікового запису. Однак, іноді вам потрібно буде виконувати адміністративні завдання як користувача root.

Щоб уникнути виходу з вашого звичайного користувача та повторного входу в обліковий запис root, ви можете налаштувати так звані привілеї суперкористувача або root для звичайного облікового запису вашого користувача. Це дозволить запускати команди з адміністративними привілеями, поставивши слово sudo перед командою.

Для додавання привілеїв потрібно додати нового користувача до системної групи sudo, виконавши команду:

usermod -aG sudo demo

Додавання користувача через термінал

Введіть ім'я хоста і створіть записи DNS для домену

Наступне, що потрібно зробити, це встановити дійсне доменне ім'я для вашого сервера.

Для цього є спеціальна команда hostnamectl

sudo hostnamectl set-hostname hetmansoftware.com

Встановити дійсне доменне ім'я для вашого сервера

Потім, потрібно додати записи MX та A для домену в панель керування DNS. Ці записи будуть вказувати іншим поштовим агентам, що ваш домен відповідає за доставку електронної пошти.

Додати MX і A записи для домену в панель керування DNS

Відкрийте панель керування DNS і додайте ці записи, потрібно вказати публічну IP-адресу вашого сервера.

Встановлення поштового сервера Postfix в Ubuntu

Тепер можна приступати до встановлення поштового агента Postfix.

Для його встановлення виконайте таку команду:

$ sudo apt-get install postfix

Додати MX і A записи для домену в панель керування DNS

У вікні - Postfix Configuration, тиснемо - OK. Далі, система запропонує обрати тип налаштування пошти, тут потрібно виділити - «Internet Site» - Enter.

Вибрати тип налаштування пошти

У наступному вікні потрібно ввести доменне ім'я, яке буде використовуватися для надсилання електронної пошти. Після встановлення Postfix він автоматично запуститься і створить конфігураційний файл у /etc/postfix/main.cf.

Потрібно ввести доменне ім'я для надсилання електронної пошти

Ви можете перевірити версію Postfix та статус служби за допомогою наступних команд:

$ sudo systemctl status postfix

Перевірити версію Postfix та статус служби

Якщо потрібно змінити конфігурацію, введіть команду:

sudo dpkg-reconfigure postfix

Тиснемо – ОК і потрібно виділити - «Internet Site» - Enter. У наступному вікні потрібно ввести доменне ім'я, яке буде використовуватися для надсилання електронної поти. Потім - отримувача пошти. Вказати інші напрямки для отримання пошти.

Вказати інші напрямки для отримання пошти

Примусово синхронізувати оновлення у поштовій черзі: Ні. Локальні мережі залишаємо без змін.

Вказати інші напрямки для отримання пошти

Обмеження розміру поштової скриньки: 0. Символ розширення локальної адреси: +. Інтернет-протоколи: Всі.

Використовувати всі інтернет-протоколи

Тестування поштового сервера Postfix на Ubuntu

Тепер перевіримо, чи підключено наш поштовий сервер до порту 25, використовуючи наступну команду:

$ telnet gmail-smtp-in.l.google.com 25

Перевіримо, чи підключено наш поштовий сервер до порту 25

Виведений системою результат вказує, що з'єднання успішно встановлено. Щоб закрити з'єднання, введіть quit.

Також, для перевірки пошти можна використовувати поштову програму, але спершу її потрібно встановити. Виконайте команду установки:

apt install mailutils

Для цього виконайте таку команду:

/usr/sbin/sendmail dmitriyzh23@gmail.com

Вкажіть поштову адресу для надсилання листа, теми та вмісту, а потім Сtrl+D для надсилання.

Надсилання тестового листа

Пошта працює, лист дійшов, але потрапив до спаму. Далі ми розглянемо, які ще потрібно внести налаштування, щоб пошта не потрапляла до спаму.

Лист потрапив до спаму

Після надсилання першого листа в папці var/mail/, програма створить файл з ім'ям користувача. В цьому файлі буде записуватися вся вхідна та вихідна пошта.

Папка var/mail/

Такий формат запису називається - mbox. Для використання формату maildir, який поділяє повідомлення на окремі файли, які потім переміщуються між каталогами в залежності від дій користувача, потрібно внести зміни до файлу конфігурації.

Sudo nano /etc/postfix/main.cf

Додаємо рядок home_mailbox= Maildir/

Вносимо зміни до файлу конфігурації

Або виконаємо команду:

sudo postconf -e 'home_mailbox= Maildir/'

У такому разі пошта зберігатиметься в окремих файлах таким шляхом:

home/demo/Maildir/new

Встановлення Dovecot IMAP та POP в Ubuntu

У результаті, поштовий сервер вже працює: можна надсилати та приймати пошту, але навряд чи він обійдеться без можливості надсилання пошти по SMTP. Підтримка цього протоколу вже є у Postfix, але за замовчуванням там немає авторизації. Для додавання підтримки авторизації слід використовувати Dovecot. Як бонус ви отримаєте можливість переглядати ваші листи за протоколами POP3 та IMAP. Спочатку потрібно встановити сам сервіс Dovecot для його встановлення, виконайте таку команду:

sudo apt-get install dovecot-imapd dovecot-pop3d

Після встановлення рекомендується перезапустити службу – dovecot:

sudo systemctl restart dovecot

Встановити сервіс 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 pop3s imap imaps

Тепер перевіримо роботу POP3. Переходимо на сервіс перевірки, вводимо дані, start test та дивимося результат.

Додаємо до конфігурації pop3 pop3s imap imaps

Отже, пошту ми налаштували, тепер потрібно зробити так, щоб вона не потрапляла до спаму. Для цього потрібно додати ще кілька DNS записів. Відкриваємо панель керування DNS. Додаємо записи SPF, DMARC та DKIM.

Як додати DKIM запис

Для роботи SPF та DMARC достатньо додати їх DNS записи. Для роботи DKIM потрібно його встановити на сервері.

Додаємо записи SPF, DMARC та DKIM в панелі DNS

«DKIM (DomainKeys Identified Mail)» — метод електронної пошти автентифікації, розроблений для виявлення підроблення повідомлень, що пересилаються по email. DKIM дає можливість одержувачу перевірити, що лист справді був відправлений із заявленого домену.

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

apt-get install opendkim opendkim-tools

Встановлення DKIM

Потім запускаємо та додаємо в автозавантаження:

sudo systemctl start opendkim

sudo systemctl enable opendkim

Далі, потрібно створити сертифікат за допомогою opendkim-genkey.

Створюємо каталог для ключів, такою командою:

mkdir /etc/opendkim

І генеруємо ключ такою командою:

opendkim-genkey -D /etc/opendkim/ --domain hetmansoftware.com --selector mail

Тут потрібно вказати доменне ім'я вашого сервера.

Запускаємо DKIM та створюємо сертифікат

У папці /etc/opendkim/ має з'явитися два файли з розширеннями .private (закритий ключ) та .txt (txt-запис). Далі налаштуємо DNS.

Дивимося вміст файлу txt:

cat /etc/opendkim/mail.txt

Копіюємо рядок із закритим ключем DKIM

Копіюємо вміст, переходимо в панель керування DNS і створюємо TXT-запис:

mail._domainkey IN TXT ( "v=DKIM1; k=rsa; "

"вміст txt файлу"

mail - назва нашого селектора,

p= p=MIIBIjANB...IDAQAB - скорочений запис відкритого ключа.

Створюємо запис у панелі керування DNS

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.

Сервіс перевірки DKIM

Запис додано, для більш детального налаштування (додавання довірених хостів, доменів і т.д.) потрібно відкрити файл конфігурації та внести додаткові налаштування.

Тепер, іще раз перевіримо надсилання пошти:

/usr/sbin/sendmail dmitriyzh23@gmail.com

From: demo@hetmansoftware.com

Subject: test

Test send mail spf dkim dmarc

Ctrl+D

Лист дійшов, і цього разу не потрапив до спаму. Відправимо відповідь листа. Пошта працює.

Сервіс перевірки DKIM

Ми встановили та налаштували поштовий агент postfix та dovecot, перевірили роботу пошти та додали відповідні DNS записи. Для зручнішої роботи можна додати сервер зберігання MySql та поштовий клієнт, наприклад Roundcube.

Перейти до перегляду
🐧 Як відновити дані з LVM RAID 5, 0 або 1 в Linux (Ext4) 🐧

🐧 Як відновити дані з LVM RAID 5, 0 або 1 в Linux (Ext4) 🐧

Valery Martyshko

Автор: , Технічний письменник

Автор, перекладач та технічний спеціаліст компанії Hetman Software. Має майже десятирічний досвід роботи в IT сфері, який охоплює різні галузі: від ПК з Windows та мобільних пристроїв, до фото та відео обладнання, сигналізацій та систем відеоспостереження, і т.д. Окрім іншого, є також спеціалістом по Android, Windows та Microsoft Office. Є експертом в області відновлення даних, файлових систем, пристроїв зберігання даних, RAID масивів.

Vladyslav Kupriyenko

Редактор: , Технічний письменник

Редактор статей блогу, автор та ведучий рубрики на YouTube каналі компанії Hetman Software. За освітою: спеціаліст з обслуговування комп’ютерних систем та мереж, вивчав розробку програмного забезпечення. Має досвід роботи в IT сфері, який охоплює різні галузі: адміністрування комп’ютерної мережі та обладнання, контроль та підтримка роботи Інтернет, офісних та спеціалізованих програм. Є фахівцем в області відновлення даних, файлових систем та пристроїв зберігання даних.

Рекомендуємо для вас

Вас вітає асистент Hetman Software створений на основі штучного інтелекту.
Розпочати чат