Полезные ресурсы для проверки почтового сервера:
- https://www.mail-tester.com/ - проверка конфигурации почтового сервера и рекомендации по улучшению.
- https://www.wormly.com/test-pop3-mail-server - проверк POP3 сервера.
- https://dmarcian.com/dkim-inspector/ - проверк DKIM.
Для подключения к серверу, можно использовать PuTTY
Тип записи | Имя хоста | Содержание |
---|---|---|
A | @[1] | 88.888.88.888[2] |
MX | @[1] | mail.example.com |
A | mail. | 88.888.88.888[2] |
TXT | @[1] | v=spf1 a mx ip4:88.888.88.888[2] ~all |
TXT | v=spf1 a mx ip4:88.888.88.888[2] ~all | |
TXT(DKIM) | mail._domainkey.example.com | v=DKIM1; k=rsa; p=DKIM public key[3] |
TXT(DMARC) | _dmarc | v=DMARC1; p=reject; rua=mailto:[email protected][4] |
TXT(SPF) | @[1] | v=spf1 a mx ip4:88.888.88.888[2] ~all |
- "@" обозначает запись для корневой зоны домена (example.com).
- "88.888.88.888" - это пример IP-адреса, его нужно заменить на ваш реальный IP-адрес.
- "DKIM public key" - здесь нужно вставить реальный открытый DKIM-ключ. DKIM
- "[email protected]" - почтовый адрес для отчетов DMARC, его можно изменить.
Проверить сведенья DNS
nslookup mail.example.com
, должен возвращать IP-адрес VPS сервера. Если другой IP-адрес, обратиться к провайдеру.
Проверим открыта ли 25-я TCP-порт на VPS
telnet mail.example.com 25
, должен быть открыт. Если закрыто обратиться к провайдеру.
- Создайте пользователя группы sudo и проверьте наличие прав. После этого перейдите на этого пользователя.
sudo adduser admin
- создание пользователя, в нашем случае админsudo adduser admin sudo
- добавление в группу sudosu - admin
- тест пользователя
- Настройте часовой пояс:
sudo dpkg-reconfigure tzdata
, выберите ближайший к пользователю город. - Обновите систему:
sudo apt-get update && sudo apt-get -y upgrade
, это может занять некоторое время.
- 2 пункт
N
ok
- Установите
mailutils
:sudo apt-get install mailutils
. - В диалоговых окнах выберите:
- Internet Site
- example.com - имя домена
ok
Если модального окна нет, то запустите
sudo dpkg-reconfigure postfix
.
Вы можете проверить версию Postfix:
sudo systemctl status postfix
- Откройте конфиг
Postfix
:sudo nano /etc/postfix/main.cf
. - Измените следующие поля:
myhostname = example.com
mydestination = $myhostname, example.com, localhost.com, localhost
inet_interfaces = loopback-only
virtual_alias_maps = hash:/etc/postfix/virual
# если нужен субдоменом
masquerade_domains = your_main_domain
- Добавьте Postfix в автозагрузку:
sudo systemctl enable postfix
- Переименуйте имя хоста:
sudo nano /etc/hostname
и замените наexample.com
или командойsudo hostnamectl set-hostname example.com
. - Перезагрузить сервер командой:
sudo reboot
. - Создайте файл для пересылки почты:
sudo nano /etc/postfix/virual
.
Слева укажите системного пользователя, справа через табуляцию - адрес для доставки почты.
root [email protected]
postmaster [email protected]
admin [email protected]
- Выполните
sudo postmap /etc/postfix/virual
- Перезапустите Postfix:
sudo systemctl restart postfix
Вы можете просмотреть логи в директории sudo tail -f /var/log/mail.log
или sudo tail -f /var/log/mail.err
.
Отправить сообщение можно командой echo "Hello body" | mail -s "hello subject!" [email protected]
.
- Установите
Dovecot
:sudo apt-get install dovecot-imapd dovecot-pop3d
. - После установки, перезапустить службу – dovecot.
sudo systemctl restart dovecot
- Откроем настройки
sudo nano /etc/dovecot/dovecot.conf
и добавьте (измените) эту строкуprotocols = pop3 pop3s imap imaps
Для работы SPF и DMARC достаточно добавить их DNS записи, для работы DKIM нужно его установить на сервере.
- Для установки пакета выполните такую команду:
sudo apt-get install opendkim opendkim-tools
. - Затем запускаем и добавляем в автозагрузку:
sudo systemctl start opendkim
иsudo systemctl enable opendkim
- Создаем каталог для ключей, такой командой:
sudo mkdir /etc/opendkim
- Генерируем ключ такой командой:
sudo opendkim-genkey -D /etc/opendkim/ --domain example.com --selector mail
- Далее откроем файл с DKIM ключем, комадной
sudo cat /etc/opendkim/mail.txt
- После добавим запись в 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
и добовляем в файл свой домен (напирмер,example.com
) -
Создадим файл с таблицей ключей:
sudo nano /etc/opendkim/KeyTable
.
Добавим в него следующую строку:
mail._domainkey.example.com example.com:mail:/etc/opendkim/dkim.private
- Путь к подписи:
sudo nano /etc/opendkim/SigningTable
Добавим в него следующую строку:
*@example.com mail._domainkey.example.com
Перезапускаем сервисы sudo systemctl restart opendkim
и sudo systemctl restart postfix
docker build -f Dockerfile.db . docker build -f Dockerfile.web .