В статье мы расскажем, как настроить свой почтовый сервер с использованием Postfix и Dovecot.
Postfix: что это и как его установить
Postfix — это ПО для создания почтового сервера с открытым исходным кодом. Изначально Постфикс создавался в качестве альтернативы Sendmail.
Postfix работает по протоколу исходящей почты SMTP и имеет следующий функционал:
- обработка заголовков писем,
- передача писем в промежуточную проверку,
- проверка отправителя на предмет спама,
- настройка лимитов на отправку писем,
- журналирование отправленных писем и др.
Ниже мы рассмотрим все этапы установки Postfix.
Создание пользователя Postfix
- 1 Подключитесь к серверу по SSH.
-
2
Добавьте пользователя:
adduser postfix
Вместо postfix укажите имя пользователя.
-
3
Назначьте новому пользователю права sudo:
usermod -aG sudo postfix
Вместо postfix укажите имя пользователя.
Установка и настройка MySQL
- 1 Подключитесь к серверу по SSH.
-
2
Обновите пакеты, поочередно выполнив команды:
sudo apt update sudo apt upgrade
-
3
Установите MySQL, а также необходимые для работы PHP и Apache:
sudo apt install mysql-server mysql-client apache2 libapache2-mod-php php php-imap php-mysql php-mbstring
-
4
Запустите установленные службы:
sudo systemctl start apache2 mysql
Затем добавьте их в автозагрузку:
sudo systemctl enable apache2 mysql
-
5
Откройте консоль MySQL:
sudo mysql -u root -p
Затем введите пароль пользователя.
-
6
Создайте базу данных MySQL:
create database db_name;
Вместо db_name укажите имя базы данных.
-
7
Выберите созданную БД:
use db_name;
Вместо db_name укажите имя базы данных.
-
8
Создайте пользователя базы данных:
create user username@localhost identified by 'password';
Вместо username укажите имя пользователя.
-
9
Присвойте права новому пользователю:
grant all privileges on *.* to username@localhost;
Вместо username укажите имя пользователя.
Далее необходимо создать базу данных для работы Roundcube. Для этого повторите шаги 7-10 и закройте консоль MySQL:
exit;
Готово, вы установили и настроили MySQL.
Установка и настройка PostfixAdmin
- 1 Подключитесь к серверу по SSH.
-
2
Обновите пакеты, поочередно выполнив команды:
sudo apt update sudo apt upgrade
-
3
Загрузите архив с исполняемым файлом:
wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz
-
4
Распакуйте архив:
tar -zxf postfixadmin.tar.gz
-
5
Переместите файлы в директорию /usr:
sudo mv postfixadmin-* /usr/share/postfixadmin
-
6
Создайте новую директорию — она потребуется для корректной работы PostfixAdmin:
mkdir /usr/share/postfixadmin/templates_c
-
7
Чтобы освободить место на сервере, удалите архив:
rm postfixadmin.tar.gz
-
8
Измените владельца папки — так веб-сервер сможет работать с файлами PostfixAdmin:
sudo chown -R www-data:www-data /usr/share/postfixadmin/
-
9
Добавьте символическую ссылку из директории Apache:
sudo ln -s /usr/share/postfixadmin/public/ /var/www/html/postfixadmin
-
10
Создайте файл конфигурации. Для этого откройте текстовый редактор:
sudo nano /usr/share/postfixadmin/config.local.php
-
11
Добавьте строки:
<?php $CONF['configured'] = true; $CONF['setup_password'] = 'нужно изменить после запуска'; $CONF['default_language'] = 'ru'; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'username'; $CONF['database_password'] = 'password'; $CONF['database_name'] = 'db_name'; $CONF['admin_email'] = 'name@test.ru'; $CONF['encrypt'] = 'md5crypt'; $CONF['default_aliases'] = array ( 'abuse' => 'name@test.ru', 'hostmaster' => 'name@test.ru', 'postmaster' => 'name@test.ru', 'webmaster' => 'name@test.ru' ); $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'YES'; ?>
Где:
- $CONF[«configured»] — возможность конфигурирования. Доступны варианты true и false;
- $CONF[«setup_password»] — хэш пароля. Его можно изменить только после запуска PostfixAdmin;
- $CONF[«default_language»] — язык интерфейса;
- $CONF[«database_type»] — тип базы, в котором будут храниться данные PostfixAdmin;
- $CONF[«database_host»] — имя сервера, на котором размещена БД;
- $CONF[«database_user»] — имя пользователя, который будет подключаться к базе данных;
- $CONF[«database_password»] — пароль для подключения к базе данных;
- $CONF[«database_name»] — имя базы данных, к которой необходимо подключаться;
- $CONF[«admin_email»] — email администратора PostfixAdmin. При необходимости вы можете оставить эту строку пустой;
- $CONF[«encrypt»] — тип шифрования пароля;
- $CONF[«default_aliases»] — псевдонимы для пользовательских электронных адресов;
- $CONF[«domain_path»] — директория, в которой должны храниться письма пользователей;
- $CONF[«domain_in_mailbox»] — автоматическое назначение директории, в которой будут храниться пользовательские письма. Если в предыдущей строке выставлено значение NO, то в этой будет принудительно выбрано YES.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
12
Создайте пользователя PostfixAdmin:
sudo bash /usr/share/postfixadmin/scripts/postfixadmin-cli admin add name@test.ru --superadmin 1 --active 1 --password PassWord --password2 PassWord2
Где:
- name@test.ru — email администратора,
- PassWord — пароль администратора,
- PassWord2 — резервный пароль администратора.
- 13 Откройте браузер и в адресной строке введите адрес http://123.123.123.123/postfixadmin/setup.php. Вместо 123.123.123.123 укажите адрес вашего сервера.
-
14
Создайте пароль загрузки и сгенерируйте хэш:
Настройка почтового сервера
-
15
Скопируйте созданный хэш:
Затем добавьте его в конфигурационный файл. Для этого повторите шаги 10 и 11.
-
16
Обновите загрузочную страницу. Затем пролистайте ее до раздела Add Superadmin Account и заполните поля:
- Setup password — укажите пароль, который вы создали на шаге 14;
- Админ — введите электронную почту администратора. Ее можно найти в конфигурационном файле, в строке $CONF[«admin_email»];
- Пароль — создайте пароль суперпользователя;
- Пароль (еще раз) — повторите пароль суперпользователя.
Далее создайте учетную запись, нажав Добавить администратора:
- 17 В браузере откройте страницу http://123.123.123.123/postfixadmin. Вместо 123.123.123.123 укажите адрес вашего сервера.
-
18
Укажите email и пароль администратора. Затем кликните Войти:
Готово, вы установили и настроили PostfixAdmin.
Установка Postfix
- 1 Подключитесь к серверу по SSH.
-
2
Обновите пакеты, поочередно выполнив команды:
sudo apt update sudo apt upgrade
-
3
Установите Postfix и коннектор к базе данных:
sudo apt install postfix postfix-mysql -y
-
4
Ознакомьтесь с представленной информацией и нажмите Ok:
-
5
Выберите Internet Site:
-
6
Укажите FQDN вашего сервера — как правило, он включает в себя доменное имя. Затем нажмите Ok:
Mail server
-
7
Откройте файл main.cf:
sudo nano /etc/postfix/main.cf
-
8
Закомментируйте строки:
#smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_tls_security_level=may
Затем добавьте следующие строки:
virtual_transport=lmtp:unix:private/dovecot-lmtp relay_domains = mysql:/etc/postfix/mysql/relay_domains.cf virtual_alias_maps = mysql:/etc/postfix/mysql/virtual_alias_maps.cf,mysql:/etc/postfix/mysql/virtual_alias_domain_maps.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf virtual_mailbox_base=/var/mail/vmail/ local_recipient_maps=$virtual_mailbox_maps smtpd_sasl_auth_enable=yes smtpd_sasl_type=dovecot smtpd_sasl_path=private/auth broken_sasl_auth_clients=yes smtpd_sasl_security_options=noanonymous smtpd_use_tls=yes smtpd_tls_cert_file=/etc/postfix/certs/cert.pem smtpd_tls_key_file=/etc/postfix/certs/key.pem smtpd_sasl_tls_security_options=noanonymous smtpd_tls_auth_only=yes smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain smtpd_banner=$myhostname ESMTP strict_rfc821_envelopes=yes disable_vrfy_command=yes smtpd_helo_required=yes
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
9
Откройте конфигурационный файл:
sudo nano /etc/postfix/master.cf
-
10
В конце файла добавьте строки:
submission inet n - n - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o syslog_name=postfix/submission -o smtpd_tls_wrappermode=no -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination -o milter_macro_daemon_name=ORIGINATING dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
11
Создайте папку mysql и файл relay_domains.cf. Для этого поочередно выполните команды:
sudo mkdir /etc/postfix/mysql sudo nano /etc/postfix/mysql/relay_domains.cf
-
12
Добавьте строки:
hosts = localhost user = username password = password dbname = db_name query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1'
Где:
- username — имя пользователя базы данных,
- password — пароль пользователя БД,
- db_name — название базы данных.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
13
Создайте файл virtual_alias_domain_maps.cf:
sudo nano /etc/postfix/mysql/virtual_alias_domain_maps.cf
-
14
Добавьте строки:
hosts = localhost user = username password = password dbname = db_name query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1
Где:
- username — имя пользователя базы данных,
- password — пароль пользователя БД,
- db_name — название базы данных.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
15
Создайте файл virtual_alias_maps.cf:
sudo nano /etc/postfix/mysql/virtual_alias_maps.cf
-
16
Добавьте строки:
hosts = localhost user = username password = password dbname = db_name query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
Где:
- username — имя пользователя базы данных,
- password — пароль пользователя БД,
- db_name — название базы данных.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
17
Создайте файл virtual_mailbox_domains.cf:
sudo nano /etc/postfix/mysql/virtual_mailbox_domains.cf
-
18
Добавьте строки:
hosts = localhost user = username password = password dbname = db_name query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
Где:
- username — имя пользователя базы данных,
- password — пароль пользователя БД,
- db_name — название базы данных.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
19
Создайте файл virtual_mailbox_maps.cf:
sudo nano /etc/postfix/mysql/virtual_mailbox_maps.cf
-
20
Добавьте строки:
hosts = localhost user = username password = password dbname = db_name query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
Где:
- username — имя пользователя базы данных,
- password — пароль пользователя БД,
- db_name — название базы данных.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
21
Создайте директорию для сертификатов безопасности:
sudo mkdir /etc/postfix/certs
-
22
Сгенерируйте сертификат:
sudo openssl req -new -x509 -days 3650 -nodes -out /etc/postfix/certs/cert.pem -keyout /etc/postfix/certs/key.pem
-
23
Проверьте настройки:
sudo postfix check
Если команда завершилась без вывода, Postfix установлен корректно.
-
24
Запустите Postfix:
sudo systemctl restart postfix
Готово, вы установили Postfix.
Настройка брандмауэра
Чтобы брандмауэр пропускал трафик Постфикс и при этом защищал почтовый сервер от вредоносного трафика, нужно внести изменения в правила работы файервола. Для этого:
- 1 Подключитесь к серверу по SSH.
-
2
Включите брандмауэр:
sudo ufw enable
-
3
Выведите содержимое файла с правилами взаимодействия с Postfix:
cat /etc/ufw/applications.d/postfix
-
4
Проверьте содержимое: в нем должны быть указаны корректные SMTP-порты. Список правил должен иметь следующий вид:
[Postfix] title=Mail server (SMTP) description=Postfix is a high-performance mail transport agent ports=25/tcp [Postfix SMTPS] title=Mail server (SMTPS) description=Postfix is a high-performance mail transport agent ports=465/tcp [Postfix Submission] title=Mail server (Submission) description=Postfix is a high-performance mail transport agent ports=587/tcp
-
5
Если порты прописаны верно, разрешите файерволу взаимодействовать с Postfix:
sudo ufw allow Postfix
Если настройка прошла корректно, вывод будет выглядеть так:
Rule added Rule added (v6)
Готово, вы настроили брандмауэр.
Dovecot: что это и как его установить
Dovecot — это свободное ПО для настройки почтового сервера. Dovecot работает с протоколами входящей почты: IMAP и POP3.
Основное назначение этого почтового сервера — безопасный доступ к письмам. Dovecot позволяет управлять почтовыми ящиками и гибко настраивать доступы к директориям электронной почты.
Связка Postfix + Dovecot необходима для корректной работы почты: в ней Postfix отвечает за отправку писем, а Dovecot — за их доставку.
Ниже мы опишем этапы настройки Dovecot.
Создание пользователя Dovecot
- 1 Подключитесь к серверу по SSH.
-
2
Создайте пользователя:
sudo adduser dovecot
Вместо dovecot укажите имя пользователя.
-
3
Назначьте права sudo новому пользователю:
sudo usermod -aG sudo dovecot
Вместо dovecot укажите имя пользователя.
Установка и настройка Dovecot
- 1 Подключитесь к серверу по SSH.
-
2
Обновите пакеты, поочередно выполнив команды:
sudo apt update sudo apt upgrade
-
3
Установите Dovecot и компоненты для его работы:
sudo apt install dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql -y
-
4
Запустите службу:
sudo systemctl start dovecot
Затем добавьте ее в автозагрузку:
sudo systemctl enable dovecot
-
5
Создайте конфигурационный файл Dovecot:
sudo nano /etc/dovecot/local.conf
-
6
Добавьте строки:
protocols = pop3 imap lmtp auth_mechanisms = plain login mail_gid = vmail mail_uid = vmail first_valid_uid = 5000 last_valid_uid = 5000 mail_location = maildir:/var/mail/vmail/%d/%n/ mbox_write_locks = fcntl disable_plaintext_auth = yes passdb { args = scheme=ssha512 username_format=%u /etc/dovecot/users driver = passwd-file } userdb { args = username_format=%u /etc/dovecot/users driver = passwd-file } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { mode = 0600 user = vmail } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } user = vmail } protocol lmtp { postmaster_address = name@test.ru } ssl = required ssl_cert = </etc/postfix/certs/cert.pem ssl_key = </etc/postfix/certs/key.pem ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA ssl_prefer_server_ciphers = yes
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
7
Создайте конфиг для подключения к БД MySQL:
sudo nano /etc/dovecot/dovecot-mysql.conf
-
8
Добавьте строки:
driver = mysql default_pass_scheme = CRYPT connect = host = localhost dbname=db_name user=username password=password user_query = SELECT '/var/mail/vmail/%d/%u' as home, 'maildir:/var/mail/vmail/%d/%u' as mail, 5000 AS uid, 5000 AS gid, concat('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1' password_query = SELECT username as user, password, '/var/mail/vmail/%d/%u' as userdb_home, 'maildir:/var/mail/vmail/%d/%u' as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid, concat('*:bytes=', quota) AS userdb_quota_rule FROM mailbox WHERE username = '%u' AND active = '1'
Где:
- db_name — название базы данных.
- username — имя пользователя базы данных,
- password — пароль пользователя БД.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
9
Перезапустите сервис:
sudo systemctl restart dovecot
Готово, вы установили Dovecot.
Настройка брандмауэра
- 1 Подключитесь к серверу по SSH.
-
2
Проверьте правило для Dovecot:
sudo cat /etc/ufw/applications.d/dovecot-imapd
Вывод будет иметь следующий вид:
[Dovecot IMAP] title=Secure mail server (IMAP) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=143/tcp [Dovecot Secure IMAP] title=Secure mail server (IMAPS) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=993/tcp # sudo cat /etc/ufw/applications.d/dovecot-pop3d [Dovecot POP3] title=Secure mail server (POP3) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=110/tcp [Dovecot Secure POP3] title=Secure mail server (POP3S) description=Dovecot is a mail server whose major goals are security and extreme reliability. ports=995/tcp
-
3
Разрешите брандмауэру сетевое взаимодействие с Dovecot. Для этого поочередно выполните команды:
sudo ufw allow 'Dovecot IMAP' sudo ufw allow 'Dovecot POP3'
Готово, вы настроили брандмауэр.
Roundcube: что это и как его установить
Roundcube — это веб-интерфейс для работы с почтовыми ящиками и письмами. Он написан на языке PHP с использованием AJAX. Подробнее об этом клиенте вы можете узнать в инструкции.
Roundcube потребуется для входа в почтовые ящики, а также для отправки и получения писем. Чтобы установить этот почтовый клиент:
- 1 Подключитесь к серверу по SSH.
-
2
Создайте новую директорию для Roundcube:
sudo mkdir /var/www/html/sites/roundcube
-
3
Создайте конфигурационный файл:
sudo nano /etc/apache2/sites-available/roundcube.conf
-
4
Добавьте строки:
<VirtualHost *:80> ServerName test.ru ServerPath /roundcube ServerAdmin admin@test.ru DocumentRoot /var/www/html/sites/roundcube ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Вместо test.ru укажите ваш домен.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
5
Перезагрузите Apache:
sudo systemctl restart apache2
- 6 Установите Roundcube.
- 7 Установите расширения PHP.
- 8 Перейдите в веб-интерфейс Roundcube и выполните финальные настройки.
Готово, вы установили Roundcube.
Как настроить записи DKIM, SPF и DMARC
Настройка DKIM
- 1 Подключитесь к серверу по SSH.
-
2
Обновите пакеты, поочередно выполнив команды:
sudo apt update sudo apt upgrade
-
3
Установите opendkim:
sudo apt install opendkim opendkim-tools -y
-
4
Запустите службу:
sudo systemctl start opendkim
Затем добавьте ее в автозагрузку:
sudo systemctl enable opendkim
-
5
Создайте директорию с ключами:
sudo mkdir -p /etc/opendkim/keys/test.ru
Вместо test.ru укажите ваш домен.
-
6
Сгенерируйте ключевую пару:
sudo opendkim-genkey --directory /etc/opendkim/keys/test.ru/ --domain test.ru --selector dkim
Вместо test.ru укажите ваш домен.
-
7
Скорректируйте права на директорию:
sudo chown -R opendkim:opendkim /etc/opendkim/keys/test.ru
Вместо test.ru укажите ваш домен.
-
8
Откройте конфигурационный файл:
sudo nano /etc/opendkim.conf
-
9
Добавьте строки:
AutoRestart Yes AutoRestartRate 10/1h Umask 002 Syslog yes SyslogSuccess Yes LogWhy Yes Canonicalization relaxed/simple ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable Mode sv PidFile /var/run/opendkim/opendkim.pid SignatureAlgorithm rsa-sha256 UserID opendkim:opendkim Socket inet:8891@localhost
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
10
Откройте файл TrustedHosts:
sudo nano /etc/opendkim/TrustedHosts
-
11
Добавьте строку:
*.test.ru
Вместо test.ru укажите ваш домен.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
12
Откройте файл KeyTable:
sudo nano /etc/opendkim/KeyTable
-
13
Добавьте строку:
dkim._domainkey.test.ru test.ru:dkim:/etc/opendkim/keys/test.ru/dkim.private
Вместо test.ru укажите ваш домен.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
14
Откройте файл SigningTable:
sudo nano /etc/opendkim/SigningTable
-
15
Добавьте строку:
*@test.ru dkim._domainkey.test.ru
Вместо test.ru укажите ваш домен.
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
16
Откройте файл opendkim:
sudo nano /etc/default/opendkim
-
17
Добавьте строки:
SOCKET="inet:8891@localhost" milter_default_action=accept milter_protocol=2 smtpd_milters=inet:127.0.0.1:8891 non_smtpd_milters=inet:127.0.0.1:8891
После этого сохраните изменения при помощи клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
-
18
Поочередно перезапустите службы opendkim и postfix:
sudo systemctl restart opendkim sudo systemctl restart postfix
-
19
Выведите на экран содержимое файла открытого ключа: sudo cat /etc/opendkim/keys/test.ru/dkim.txt Публичный ключ будет иметь следующий вид:
dkim._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0gYwtTQCLzrWSUtQ7j77194kM4h3J7mOvsZoh50fzyYWItXC2CATVAjUq29Ki2FM/JOUYKBDxZIQltoaCYINNt6oLxbkPKfkwhMntwVzNxHS9jlS1rXjTyPGW04HM751tvUbxQ5Q5/aC6gkIiaHOywEqt1iec1YCAulHIjbG8caUSSYnNKSzZdoBRz6rtLUMkWkZl/aUDCBcR7" "GnKUy9HmsJPHfKv4MQtjUSQo+5XrQeFIwqBT8e+bDMuo2pOSUT5FgbJBdQOTvSqqk8wpPIqxfKX3e42oFAsLUihL1v2aX1w+kb6vt+bGDBPKkGK4HaNoXhHKQuueQXiVbiERqUGwIDAQAB" ) ; ----- DKIM key dkim for test.ru
Вместо test.ru будет указан ваш домен.
-
20
Добавьте получившуюся ресурсную запись по инструкции, которая подходит для вашего случая:
Если домен обслуживается в другой компании, запись необходимо добавлять на сайте поставщика услуги DNS.
Настройка SPF
-
1
Сформируйте запись SPF по следующему образцу:
v=spf1 ip4:123.123.123.123 a mx ~all
Вместо 123.123.123.123 укажите IP-адрес вашего сервера.
-
2
Добавьте запись TXT с содержимым из пункта выше. Для этого используйте инструкцию, подходящую для вашего случая:
Если домен обслуживается в другой компании, запись необходимо добавлять на сайте поставщика услуги DNS.
Настройка DMARC
-
1
Сформируйте запись DMARC по следующему образцу:
v=DMARC1; p=none; rua=mailto:dmarc-test@test.ru
Вместо test.ru укажите ваш домен.
-
2
Добавьте запись TXT с содержимым из пункта выше. Для этого используйте инструкцию, подходящую для вашего случая:
Если домен обслуживается в другой компании, запись необходимо добавлять на сайте поставщика услуги DNS.
После того как вы прописали ресурсные записи, настройка почтового сервера завершена. Вы установили все необходимые инструменты:
- Postfix в качестве агента пересылки почты,
- Dovecot как решение для настройки доступа к почте и почтовым директориям,
- Roundcube для того, чтобы авторизоваться в почтовом ящике и начать обмен письмами.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊