2,7K подписчиков

Modoboa - Лучший почтовый сервер для компании

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa. Данный продукт написан на Python и является бесплатным решением с открытым исходным кодом, он объединяет лучшее из Open Source в одной платформе для размещения и управления почтой, включающая современный и упрощенный веб-интерфейс пользователя, предназначенный для работы с Postfix и Dovecot.

Больше не нужно устанавливать каждый компонент по отдельности, установщик Modoboa выполняет 95% работы менее чем за 10 минут. Вам просто нужно настроить свой DNS.

Содержание статьи

  • Возможности решения
  • Системные требования
  • Регистрация домена у провайдера и проброс портов маршрутизатора
  • Подготовка сервера
  • Установка Modoboa
  • Настройка почтового сервера
  • Добавление пользователя и домена на сервере, настройка сайта и почты
  • Резервное копирование
  • Настройка брандмауэра и Fail2ban
  • Вывод

Возможности решения

  • Наличие удобной вэб панели для администрирования, а также пользовательского интерфейса для доступа к почте.
  • Продукт использует в качестве основных компонентов для работы с почтой Postfix и Dovecot.
  • Поддержка баз данных MySQL, MariaDB или PostgreSQL.
  • Поддержка неограниченного количества почтовых ящиков и доменов.
  • Легко создавайте псевдонимы электронной почты в веб-панели администратора.
  • Клиент веб-почты предоставляет простой в использовании фильтр сообщений, помогающий упорядочивать сообщения в разных папках.
  • Включает в себя интерфейс amavis для блокировки спама и обнаружения вирусов в электронной почте.
  • Календарь и адресная книга.
  • Интеграция с Let's Encrypt.
  • Включает AutoMX, позволяющий конечным пользователям легко настраивать учетную запись почты в настольном или мобильном почтовом клиенте.

Системные требования

Поддерживаемые операционные системы:

  • Debian 9
  • Debian 10
  • Debian 11
  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS

Минимальные системные требования:

Процессор: 1-но ядерный от 1Ггц

Оперативная память: от 512МБ

Жёсткий диск: от 5ГБ

Системные требования для сервера на 100 сотрудников:

  • Процессор: 2-х ядерный от 1,8Ггц
  • Оперативная память: от 2 ГБ
  • Диск: от 500 ГБ

Регистрация домена у провайдера и проброс портов маршрутизатора

Советую Питерского регистратора доменных имён Nethouse.ru, очень быстрый и качественный сервис, с моментальным обновлением DNS записей и приемлемой стоимостью доменных имён, в зоне ru - 150руб.

После покупки прописываем в разделе управления доменом dns записи:

  • Запись типа А со значением белого ip адреса нашего маршрутизатора или виртуальной машины на vds хостинге, как в моем случае.
  • Запись типа А с именем mail и значением нашего белого ip адреса
  • МХ запись типа - @ mx mail.tuning-admina.ru

Modoboa использует AutoMX(Авто обнаружение и автонастройка используется десктопными и мобильными почтовыми клиентами) для реализации этой функции, необходимо в DNS добавить записи CNAME:

autoconfig.tuning-admina.ru CNAME mail.tuning-admina.ru
autodiscover.tuning-admina.ru CNAME mail.tuning-admina.ru

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-2

Все основные настройки прописывает у провайдера в редакторе управления DNS записями.

На маршрутизаторе необходимо пробросить порты в зависимости от их в дальнейшем использования:

  • 80, 443, 8083 - доступ к сайтам и панели управления
  • 25,110,143,465,587,993,995 - порты для хождения почты

Подготовка сервера

Повышаем наши права в системе:

sudo -s

Обновляем систему:

apt update && apt upgrade -y

Устанавливаем дополнительные компоненты:

apt install mc nano wget net-tools -y

Устанавливаем имя нашему серверу:

hostnamectl set-hostname mail.tuning-admina.ru

Устанавливаем временную зону:

timedatectl set-timezone Europe/Moscow

Устанавливаем службу синхронизации времени:

apt install chrony -y

Добавляем службу в автозагрузку:

systemctl enable chrony

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

reboot

Установка Modoboa

Modoboa написан на Python, в связи с этим выполним следующую команду, чтобы установку необходимого программного обеспечения:

apt install git python3-virtualenv python3-pip -y

git clone https://github.com/modoboa/modoboa-installer

Перейдем в скаченный каталог:

cd modoboa-installer

Запускаем скрипт с параметрами для проверки конфигурации:

./run.py --stop-after-configfile-check tuning-admina.ru

Welcome to Modoboa installer!

Configuration file installer.cfg not found, creating new one.

Не найден конфигурационный файл, на самом деле он есть откроем и отредактируем его:

nano installer.cfg

Измените следующие строки:

[certificate]
generate = true
type = letsencrypt

[letsencrypt]
email = admin@tuning-admina.ru

[database]
engine = postgres
host = 127.0.0.1
install = true

Сохраните и закройте файл, затем запустите установку с помощью следующей команды:

./run.py --interactive tuning-admina.ru

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-3

Установка завершена, идем проверять доступность вэб интерфейса по адресу: https://mail.tuning-admina.ru

Настройка почтового сервера

Получение сертификатов Let's Encrypt

Автоматическое продление сертификата Let's Encrypt TLS

Modoboa установил последнюю версию клиента Let's Encrypt (certbot) как . Расположение двоичного файла certbot можно найти, выполнив следующую команду.

/opt/certbot-auto

sudo find / -name "*certbot*"

Сертификат Let's Encrypt TLS действителен в течение 90 дней. Чтобы автоматически обновить сертификат, отредактируйте файл crontab пользователя root.

sudo crontab -e

Добавьте следующую строку в конец этого файла.

@daily /opt/certbot-auto renew -q && systemctl reload nginx postfix dovecot

Сохраните и закройте файл. Это говорит Cron выполнять команду обновления certbot каждый день. Если у сертификата осталось 30 дней, certbot обновит его. Необходимо перезагрузить веб-сервер Nginx, SMTP-сервер Postfix и IMAP-сервер Dovecot, чтобы они могли получить новый сертификат.

Добавление пользователя и домена на сервере, настройка сайта и почты

Резервное копирование

Настройка брандмауэра и Fail2ban

Вывод

Я надеюсь вам понравилась статья.

Установка Modoboa

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-4

Сохраните и закройте файл. (Чтобы сохранить файл в текстовом редакторе Nano, нажмите , затем нажмите для подтверждения. Чтобы выйти, нажмите клавишу .)Ctrl+OEnterCtrl+X

Затем следует использовать полное доменное имя (FQDN) в качестве имени узла для почтового сервера, например . Выполните следующую команду, чтобы задать имя хоста.mail.example.com

hostnamectl set-hostname mail.example.com

./run.py --interactive example.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-5

Процесс установки может занять некоторое время. Это заняло 10 минут на моем сервере. После установки перезапустите сервер, чтобы убедиться, что каждая служба запустится автоматически.

shutdown -r now

После того, как Modoboa завершит установку, вы можете войти в админ панель с именем пользователя и паролем: admin password

  • Если ваш браузер не может подключиться к панели администратора, возможно, Nginx не запущен. Начните с . Если он не запускается, бегите, чтобы узнать, что не так.

systemctl restart nginx

nginx -t

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-6

После того, как вы вошли в систему, вы должны перейти в -> ->, чтобы изменить пароль.AdminSettingsProfile

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-7

Добавление почтовых ящиков в админ панель Modoboa

Перейдите на вкладку и нажмите кнопку, чтобы добавить новый домен.DomainsAdd

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-8

Затем введите основное доменное имя в поле Имя. Настоятельно рекомендуется включить подписывание DKIM, что может помочь с репутацией вашего домена. В поле вы можете ввести случайное слово, например . Выберите 2048 в качестве длины ключа.Key selectormodoboa

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-9

На следующем экране вы можете создать учетную запись администратора для своего домена. Протокол SMTP требует, чтобы почтовый сервер имел postmaster@example.com адрес.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-10

Нажмите кнопку Отправить, и ваше доменное имя будет добавлено в Modoboa.

Чтобы добавить адреса электронной почты, перейдите на вкладку и щелкните свое доменное имя.Domains

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-11

Затем щелкните Почтовые ящики.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-12

Нажмите кнопку и выберите .AddAccount

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-13

Затем выберите роль. Введите адрес электронной почты в поле Имя пользователя и введите пароль.Simple user

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-14

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

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-15

После нажатия кнопки отправки создается адрес электронной почты.

Шаг 5: Отправка тестовых писем

Чтобы войти в веб-почту, вам нужно сначала выйти из учетной записи администратора, а затем ввести учетные данные пользователя.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-16

После того, как вы вошли в веб-почту Modoboa, вы можете отправить тестовое электронное письмо с вашего частного почтового сервера на ваш другой адрес электронной почты и наоборот.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-17

Отключить серый список

Входящие электронные письма будут задерживаться на несколько минут, потому что по умолчанию Modoboa включает серый список, который говорит другому отправляющему SMTP-серверу повторить попытку через несколько минут. Это полезно для блокировки спама. Следующее сообщение указывает на то, что серый список включен./var/log/mail.log

postfix/postscreen[20995]: NOQUEUE: reject: RCPT from [34.209.113.130]:36980: 450 4.3.2 Service currently unavailable;

Тем не менее, серый список может быть довольно раздражающим. Вы можете отключить его, отредактировав основной конфигурационный файл Postfix.

sudo nano /etc/postfix/main.cf

Найдите следующие строки в конце файла и закомментируйте их. (Добавьте символ # в начале каждой строки.)

postscreen_pipelining_enable = yes

postscreen_pipelining_action = enforce

postscreen_non_smtp_command_enable = yes

postscreen_non_smtp_command_action = enforce

postscreen_bare_newline_enable = yes

postscreen_bare_newline_action = enforce

Сохраните и закройте файл. Затем перезапустите Postfix, чтобы изменения вступили в силу.

sudo systemctl restart postfix

Теперь вы сможете получать электронные письма, не дожидаясь нескольких минут.

Отключить политику

Если вы обнаружите следующую ошибку в файле, это означает, что демон политики не запущен./var/log/mail.log

postfix/smtpd[229906]: warning: connect to 127.0.0.1:9999: Connection refused

postfix/smtpd[229906]: warning: problem talking to server 127.0.0.1:9999: Connection refused

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

sudo systemctl restart supervisor

Затем проверьте, прослушивает ли демон политики порт 9999.

sudo ss -lnpt | grep 9999

Если он по-прежнему не прослушивает порт 9999, то вам нужно отключить демон политики в Postfix.

sudo nano /etc/postfix/main.cf

Найдите следующие строки.

smtpd_recipient_restrictions =

check_policy_service inet:127.0.0.1:9999

permit_mynetworks

permit_sasl_authenticated

check_recipient_access

proxy:pgsql:/etc/postfix/sql-maintain.cf

proxy:pgsql:/etc/postfix/sql-relay-recipient-verification.cf

reject_unverified_recipient

reject_unauth_destination

reject_non_fqdn_sender

reject_non_fqdn_recipient

reject_non_fqdn_helo_hostname

Закомментируйте директиву check_policy_service.

smtpd_recipient_restrictions =

# check_policy_service inet:127.0.0.1:9999

permit_mynetworks

permit_sasl_authenticated

check_recipient_access

proxy:pgsql:/etc/postfix/sql-maintain.cf

proxy:pgsql:/etc/postfix/sql-relay-recipient-verification.cf

reject_unverified_recipient

reject_unauth_destination

reject_non_fqdn_sender

reject_non_fqdn_recipient

reject_non_fqdn_helo_hostname

Сохраните и закройте файл. Затем перезапустите Postfix.

sudo systemctl restart postfix

Шаг 6: Проверка того, заблокирован ли порт 25 (исходящий)

Ваш интернет-провайдер или хостинг-провайдер не будет блокировать входящее соединение с портом 25 вашего сервера, что означает, что вы можете получать электронные письма с других почтовых серверов. Тем не менее, многие интернет-провайдеры / хостинг-провайдеры блокируют исходящее соединение с портом 25 других почтовых серверов, что означает, что вы не можете отправлять электронные письма.

Если ваша электронная почта не поступила на другой адрес электронной почты, например Gmail, выполните следующую команду на почтовом сервере, чтобы проверить, заблокирован ли порт 25 (исходящий).

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

Если он не заблокирован, вы увидите сообщения, как показано ниже, что указывает на успешное установление соединения. (Подсказка. Введите и нажмите клавишу ВВОД, чтобы закрыть подключение.)quit

Trying 74.125.68.26...

Connected to gmail-smtp-in.l.google.com.

Escape character is '^]'.

220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Если порт 25 (исходящий) заблокирован, вы увидите что-то вроде:

Trying 2607:f8b0:400e:c06::1a...

Trying 74.125.195.27...

telnet: Unable to connect to remote host: Connection timed out

В этом случае Postfix не может отправлять электронные письма на другие SMTP-серверы. Попросите вашего интернет-провайдера / хостинг-провайдера открыть его для вас. Если они отклоняют ваш запрос, вам нужно настроить ретрансляцию SMTP для обхода блокировки порта 25.

Все еще не можете отправить электронную почту?

Если порт 25 (исходящий) не заблокирован, но вы по-прежнему не можете отправлять электронные письма со своего почтового сервера на другой адрес электронной почты, такой как Gmail, вам следует проверить почтовый журнал ()./var/log/mail.log

sudo nano /var/log/mail.log

Например, некоторые пользователи могут видеть в файле следующие строки.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Это означает, что ваш почтовый сервер использует IPv6 для отправки электронной почты, но вы не настроили записи IPv6. Вы должны перейти в диспетчер DNS, установить запись для , затем вы должны установить запись для вашего IPv6-адреса, который обсуждается на шаге 8.AAAAmail.your-domain.comPTR

Шаг 7: Использование почтовых клиентов на вашем компьютере или мобильном устройстве

Запустите настольный почтовый клиент, такой как Mozilla Thunderbird, и добавьте учетную запись электронной почты.

  • В разделе Сервер входящей почты выберите Протокол IMAP, введите имя сервера, выберите порт 143 и STARTTLS. Выберите в качестве метода проверки подлинности.mail.your-domain.comnormal password
  • В разделе исходящей почты выберите протокол SMTP, введите имя сервера, выберите порт 587 и STARTTLS. Выберите в качестве метода проверки подлинности.mail.your-domain.comnormal password
В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-18

Вы также можете использовать протокол IMAP на порту 993 с шифрованием SSL/TLS.

Шаг 8: Улучшение доставки электронной почты

Чтобы ваши электронные письма не помечались как спам, вы должны установить , и записи.PTRSPFDKIMDMARC

Запись PTR

Запись указателя или PTR-запись сопоставляет IP-адрес с полным доменным именем (полным доменным именем). Это аналог записи A и используется для обратного поиска DNS, что может помочь с блокировкой спамеров. Многие SMTP-серверы отклоняют электронные письма, если для отправляющего сервера не найдена запись PTR.

Чтобы проверить запись PTR на наличие IP-адреса, выполните следующую команду:

dig -x IP-address +short

или

host IP-address

Запись PTR не управляется регистратором доменных имен. Он управляется организацией, которая предоставляет вам IP-адрес. Поскольку вы получаете IP-адрес от вашего хостинг-провайдера или интернет-провайдера, а не от регистратора доменных имен, вы должны установить запись PTR для своего IP-адреса в панели управления вашего хостинг-провайдера или спросить вашего интернет-провайдера. Его значением должно быть имя хоста вашего почтового сервера: . Если ваш сервер использует IPv6-адрес, обязательно добавьте PTR-запись для вашего IPv6-адреса.mail.your-domain.com

Чтобы отредактировать обратную запись DNS для вашего Kamatera VPS, войдите в клиентскую зону Kamatera, затем откройте запрос в службу поддержки и попросите их добавить запись PTR для IP-адресов вашего сервера, чтобы указать IP-адрес на . Вы можете подумать, что это неудобно, но это делается для того, чтобы держать спамеров подальше от платформы, поэтому законные отправители электронной почты, такие как мы, будут иметь отличную репутацию IP.mail.your-domain.com

Запись SPF

Запись SPF (Sender Policy Framework) указывает, каким узлам или IP-адресу разрешено отправлять сообщения электронной почты от имени домена. Вы должны разрешить только вашему собственному почтовому серверу или серверу вашего интернет-провайдера отправлять электронные письма для вашего домена. В интерфейсе управления DNS создайте новую запись TXT, как показано ниже.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-19

Объяснение:

  • TXT указывает, что это запись TXT.
  • Введите @ в поле имени, чтобы представить основное доменное имя.
  • v=spf1 указывает, что это запись SPF, а версия — SPF1.
  • mx означает, что всем хостам, перечисленным в записях MX, разрешено отправлять электронные письма для вашего домена, а всем остальным хостам запрещено.
  • ~all указывает, что электронные письма с вашего домена должны приходить только с хостов, указанных в записи SPF. Электронные письма, отправленные с других хостов, будут помечены как поддельные.

Чтобы проверить, распространяется ли ваша запись SPF в общедоступный Интернет, вы можете использовать утилиту dig на вашем компьютере Linux, как показано ниже:

dig your-domain.com txt

Этот параметр говорит, что мы хотим запрашивать только записи TXT.txtdig

Запись DKIM

DKIM (DomainKeys Identified Mail) использует закрытый ключ для цифровой подписи электронных писем, отправленных из вашего домена. Получающие SMTP-серверы проверяют подпись с помощью открытого ключа, который публикуется в записи DNS DKIM.

Когда мы добавляли доменное имя в админ панель Moboboa ранее, мы включили DKIM подпись, поэтому о подписывающей части позаботились. Единственное, что осталось сделать, это создать запись DKIM в ДИСПЕТЧЕРЕ DNS. Сначала зайдите в админ панель Modoboa и выберите свое доменное имя. В разделе DNS нажмите кнопку.Show key

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-20

Открытый ключ будет раскрыт. Существует два формата. Нам нужен только формат Bind/named.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-21

Зайдите в диспетчер DNS, создайте запись TXT, введите в поле Имя. (Напомним, что мы использовали modoboa в качестве селектора при добавлении доменного имени в админ панели.) Скопируйте все в скобках и вставьте в поле значения. Удалите все двойные кавычки. Диспетчер DNS может потребовать удаления других недопустимых символов, таких как возврат каретки.modoboa._domainkey

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-22

Обратите внимание, что запись DKIM может потребоваться некоторое время для распространения в Интернете. В зависимости от используемого регистратора доменных имен запись DNS может распространяться мгновенно или для распространения может потребоваться до 24 часов. Вы можете перейти в https://www.dmarcanalyzer.com/dkim/dkim-check/, войти в качестве селектора и ввести свое доменное имя, чтобы проверить распространение записи DKIM.modoboa

Для тех, кто заинтересован, Modoboa использует OpenDKIM для генерации закрытого ключа для вашего доменного ключа и проверки подписей входящих электронных писем.

Запись DMARC

DMARC расшифровывается как Domain-based Message Authentication, Reporting and Conformance. DMARC может помочь в получении почтовых серверов для идентификации законных электронных писем и предотвращения использования вашего доменного имени при спуфинге электронной почты.

Чтобы создать запись DMARC, перейдите в диспетчер DNS и добавьте запись TXT. В поле имя введите . В поле значения введите следующее:_dmarc

v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@your-domain.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-23

Приведенная выше запись DMARC является безопасной отправной точкой. Чтобы увидеть полное объяснение DMARC, пожалуйста, ознакомьтесь со следующей статьей.

Шаг 7: Тестирование оценки электронной почты и размещения

После создания записи PTR, SPF, DKIM перейдите к https://www.mail-tester.com. Вы увидите уникальный адрес электронной почты. Отправьте электронное письмо из своего домена на этот адрес, а затем проверьте свой счет. Как видите, я получил идеальную оценку.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-24

Mail-tester.com можете показать вам только оценку отправителя. Есть еще один сервис под названием GlockApps, который позволяет вам проверить, помещена ли ваша электронная почта в папку «Входящие» получателя или папка спама или отклонена напрямую. Он поддерживает многих популярных поставщиков услуг электронной почты, таких как Gmail, Outlook, Hotmail, YahooMail, почта iCloud и т. Д.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-25

Электронная почта отклонена почтовым ящиком Майкрософт?

Корпорация Майкрософт использует внутренний черный список, который блокирует многие законные IP-адреса. Если ваши электронные письма отклоняются Outlook или Hotmail, вам нужно следовать инструкциям, приведенным ниже, чтобы обойти черный список Microsoft Outlook.

Что делать, если ваши электронные письма по-прежнему помечаются как спам?

У меня есть больше советов для вас в этой статье: Как предотвратить пометку ваших писем как спам. Хотя это займет некоторое время и усилия, ваши электронные письма в конечном итоге будут помещены в почтовый ящик после применения этих советов.

Включение SMTPS-порта 465

Если вы собираетесь использовать клиент Microsoft Outlook, то вам необходимо включить SMTPS-порт 465 в SMTP-сервере Postfix.

Устранение неполадок

Во-первых, пожалуйста, используйте VPS с не менее 2 ГБ оперативной памяти. Запуск Modoboa на 1 ГБ RAM VPS приведет к тому, что база данных, SpamAssassin или ClamAV будут убиты из-за проблемы с нехваткой памяти. Если вы действительно хотите использовать 1 ГБ оперативной памяти VPS, вы потеряете входящие электронные письма и будете иметь другие нежелательные результаты.

Если веб-интерфейс Modoboa недоступен, например, ошибка шлюза 502, вы должны проверить журналы Nginx в каталоге, чтобы найти подсказки. Вы также можете проверить почтовый журнал ./var/log/nginx//var/log/mail.log

Проверьте, запущены ли различные службы.

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status clamav-daemon

systemctl status amavis

systemctl status uwsgi

systemctl status supervisor

Если брандмауэр включен, необходимо открыть следующие порты в брандмауэре.

HTTP port: 80

HTTPS port: 443

SMTP port: 25

Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)

IMAP port: 143 and 993

Если вы хотите использовать брандмауэр UFW, ознакомьтесь с моим руководством здесь: Начало работы с брандмауэром UFW в Debian и Ubuntu.

Автоматическое отключение ClamAV

Я обнаружил, что сервис имеет тенденцию останавливаться без четкой причины, даже когда достаточно оперативной памяти. Это задержит электронные письма на 1 минуту. Мы можем настроить его на автоматический перезапуск, если он останавливается через сервисный блок systemd. Скопируйте исходный файл сервисного блока в каталог.clamav-daemon/etc/systemd/system/

sudo cp /lib/systemd/system/clamav-daemon.service /etc/systemd/system/clamav-daemon.service

Затем отредактируйте файл сервисного блока.

sudo nano /etc/systemd/system/clamav-daemon.service

Добавьте следующие две строки в раздел [служба].

Restart=always

RestartSec=3

Типа того:

[Service]

ExecStart=/usr/sbin/clamd --foreground=true

# Reload the database

ExecReload=/bin/kill -USR2 $MAINPID

StandardOutput=syslog

Restart=always RestartSec=3

Сохраните и закройте файл. Затем перезагрузите systemd и перезапустите clamav-daemon.service.

sudo systemctl daemon-reload

sudo systemctl restart clamav-daemon

К сожалению, произошла внутренняя ошибка

Если вы видите внутреннее сообщение об ошибке при попытке войти в админ панель Modoboa, отредактируйте файл.settings.py

sudo nano /srv/modoboa/instance/instance/settings.py

Включите режим отладки.

DEBUG = True

Перезапустите uwsgi, чтобы изменения вступили в силу.

sudo systemctl restart uwsgi

Затем попробуйте снова войти в админ панель Modoboa. На этот раз вы увидите точную внутреннюю ошибку. Например, на моем почтовом сервере это

database connection isn't set to UTC

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-26

Поэтому мне нужно отредактировать файлsettings.py

sudo nano /srv/modoboa/instance/instance/settings.py

и выключите часовой пояс.

USE_TZ = False

Сохраните и закройте файл. Перезапустите uwsgi, чтобы изменения вступили в силу.

sudo systemctl restart uwsgi

(Необязательно) Настройка автообнаружения и автонастройки для автоматизации настройки почтового клиента

Автообнаружение и автонастройка упрощают настройку настольного или мобильного почтового клиента. Конечному пользователю просто нужно ввести имя, адрес электронной почты и пароль для настройки своей учетной записи электронной почты, без необходимости вводить данные SMTP или IMAP-сервера. Автообнаружение поддерживается почтовым клиентом Microsoft Outlook, а автонастройка поддерживается почтовым клиентом Mozilla Thunderbird.

Modoboa использует AutoMX для реализации этой функции на вашем почтовом сервере. Все, что нам нужно сделать сейчас, это добавить записи CNAME в DNS. В диспетчере DNS создайте две записи CNAME.

autoconfig.yourdomain.com CNAME mail.yourdomain.com

autodiscover.yourdomain.com CNAME mail.yourdomain.com

Перейдите на вкладку в админ панели Modoboa, если она выделена зеленым цветом, это означает, что ваши записи CNAME верны. (Modoboa проверяет записи DNS для вашего почтового сервера каждые 30 минут, поэтому вам, возможно, придется подождать некоторое время, пока автонастройка станет зеленой.)Domainsautoconfig

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-27

После распространения записей CNAME в Интернет вам не нужно вводить сведения о сервере SMTP или IMAP при настройке учетной записи почты в Microsoft Outlook и Mozilla Thunderbird.



Если вы используете выделенного пользователя и/или виртуальную среду, не забудьте использовать их:

> sudo -u <modoboa_user> -i bash

> source <virtuenv_path>/bin/activate

Затем выполните следующие команды:

> pip install <EXTENSION>==<VERSION>

> cd <modoboa_instance_dir>

> python manage.py migrate

> python manage.py collectstatic

> python manage.py check --deploy

Затем перезапустите веб-сервер.

Подготовьте систему

Прежде всего, мы рекомендуем следующий контекст:

  • Выделенный системный пользователь
  • Виртуальная среда для установки приложения, потому что оно изолирует его (и его зависимости) от остальной части вашей системы.

В следующем примере показано, как реализовать это в дистрибутивах на основе Debian с помощью virtualenv :

# apt-get install virtualenv python3-pip

# useradd modoboa # create a dedicated user

# su -l modoboa # log in as the newly created user

$ virtualenv --python python3 ./env # create the virtual environment

$ source ./env/bin/activate # activate the virtual environment

Modoboa зависит от внешних инструментов, и некоторые из них требуют компиляции, поэтому вам понадобится компилятор и несколько библиотек C. Обязательно установите следующие системные пакеты в соответствии с вашим дистрибутивом:

Дебиан / Убунтуbuild-essential python3-dev libxml2-dev libxslt-dev libjpeg-dev librrd-dev rrdtool libffi-dev

Как быстро настроить почтовый сервер на Ubuntu 22.04 с Modoboa

Последнее обновление: Ноябрь 15th, 2022 Xiao Guoan (Admin)

274 Комментарии

Почтовый сервер

Из этого туториала Вы узнаете, как быстро настроить собственный почтовый сервер на Ubuntu 22.04 с Modoboa, который является бесплатной платформой для размещения и управления почтой с открытым исходным кодом, предназначенной для работы с SMTP-сервером Postfix и сервером Dovecot IMAP/POP3.

Modoboa написана на Python, выпущена на условиях лицензии ISC. Основными особенностями Modoboa являются:

  • Modoboa по умолчанию использует веб-сервер Nginx для обслуживания клиента веб-почты и веб-панели администратора.
  • Совместимость с Postfix и Dovecot.
  • Поддержка MySQL/MariaDB или базы данных PostgreSQL.
  • Легко создавайте неограниченные почтовые ящики и неограниченные почтовые домены в веб-панели администратора.
  • Легко создавайте псевдонимы электронной почты в веб-панели администратора.
  • Клиент веб-почты предоставляет простой в использовании фильтр сообщений, помогающий упорядочивать сообщения в разных папках.
  • Это может помочь вам защитить репутацию вашего домена, отслеживая черные списки электронной почты и создавая отчеты DMARC, поэтому ваши электронные письма имеют больше шансов попасть в папку «Входящие», а не в папку спама.
  • Включает в себя интерфейс amavis для блокировки спама и обнаружения вирусов в электронной почте.
  • Календарь и адресная книга.
  • Интеграция с Let's Encrypt.
  • Включает AutoMX, позволяющий конечным пользователям легко настраивать учетную запись почты в настольном или мобильном почтовом клиенте.

Шаг 1: Выберите правильного хостинг-провайдера и купите доменное имя

Чтобы настроить полный почтовый сервер с Modoboa, вам нужен сервер с не менее 3 ГБ оперативной памяти, потому что после установки ваш сервер будет использовать более 2 ГБ оперативной памяти.

Примечание: Вы должны установить Modoboa на чистый свежий сервер Ubuntu 22.04.

Этот учебник сделан на $ 9 / месяц Kamatera VPS (виртуальный частный сервер) с 1 процессором и 3 ГБ оперативной памяти. Они предлагают 30-дневную бесплатную пробную версию.

Kamatera - очень хороший вариант для запуска почтового сервера, потому что

  • Они не блокируют порт 25, поэтому вы можете отправлять неограниченное количество электронных писем (транзакционная электронная почта и информационные бюллетени), не тратя деньги на службу ретрансляции SMTP. Kamatera не имеет ограничений SMTP. Вы можете отправлять миллион электронных писем в день.
  • IP-адрес не находится в черном списке электронной почты. (По крайней мере, это верно в моем случае. Я выбрал центр обработки данных в Далласе.) Вы определенно не хотите, чтобы вас заносили в страшный черный список IP-адресов Microsoft Outlook или черный список спамратов. Некоторые черные списки блокируют весь диапазон IP-адресов, и у вас нет возможности удалить свой IP-адрес из этого черного списка.
  • Вы можете редактировать запись PTR, чтобы улучшить доставку электронной почты.
  • Они позволяют вам отправлять информационные бюллетени своим подписчикам электронной почты без каких-либо почасовых или дневных ограничений.
  • Вы можете заказать несколько IP-адресов для одного сервера. Это очень полезно для людей, которым нужно отправить большой объем электронных писем. Вы можете распределять трафик электронной почты на несколько IP-адресов, чтобы добиться лучшей доставки электронной почты.

Другие провайдеры VPS, такие как DigitalOcean, блокируют порт 25. DigitalOcean не будет разблокировать порт 25, поэтому вам нужно будет настроить РЕТРАНСЛЯЦИЮ SMTP для обхода блокировки, что может стоить вам дополнительных денег. Если вы используете Vultr VPS, то порт 25 заблокирован по умолчанию. Они могут разблокировать его, если вы откроете запрос в службу поддержки, но они могут заблокировать его снова в любое время, если они решат, что ваша активность по отправке электронной почты запрещена. Vultr фактически может повторно заблокировать его, если вы используете их серверы для отправки информационных бюллетеней.

Перейдите на веб-сайт Kamatera, чтобы создать учетную запись, а затем создайте свой сервер на панели управления учетной записью.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-28

Я рекомендую следовать руководству, связанному ниже, чтобы правильно настроить ваш linux VPS-сервер на Kamatera.

После того, как вы создали сервер, Kamatera отправит вам электронное письмо с данными для входа в SSH сервера. Для входа на сервер используется SSH-клиент. Если вы используете Linux или macOS на своем компьютере, просто откройте окно терминала и выполните следующую команду, чтобы войти на свой сервер. Замените 12.34.56.78 IP-адресом вашего сервера.

ssh root@12.34.56.78

Вам будет предложено ввести пароль.

Вам также нужно доменное имя. Я зарегистрировал свое доменное имя от NameCheap, потому что цена низкая, и они дают whois защиту конфиденциальности бесплатно на всю жизнь.

Шаг 2: Создание записи DNS MX

Запись MX указывает, какой узел или хосты обрабатывают электронную почту для определенного доменного имени. Например, хостом, который обрабатывает электронные письма, является . Если кто-то с учетной записью Gmail отправляет электронное письмо , то сервер Gmail запросит запись MX linuxbabe.com. Когда он узнает, что несет ответственность за принятие электронной почты, он затем запрашивает запись A, чтобы получить IP-адрес, таким образом, электронное письмо может быть доставлено.linuxbabe.commail.linuxbabe.comsomebody@linuxbabe.commail.linuxbabe.commail.linuxbabe.com

В диспетчере DNS создайте запись MX для доменного имени. Введите в поле Имя, чтобы представить основное доменное имя, затем введите в поле Значение.@mail.your-domain.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-29

Примечание: Имя хоста для записи MX не может быть псевдонимом другого имени. Кроме того, настоятельно рекомендуется использовать имена хостов, а не голые IP-адреса для записи MX.

Диспетчер DNS может потребовать, чтобы вы ввели значение предпочтения (также известное как значение приоритета). Это может быть любое число от 0 до 65 356. Небольшое число имеет более высокий приоритет, чем большое число. Можно ввести 0 для почтового сервера или принять значение по умолчанию.

После создания записи MX также необходимо создать запись A для , чтобы ее можно было разрешить в IP-адрес. Если сервер использует IPv6-адрес, обязательно добавьте запись AAAA.mail.your-domain.com

Если вы используете службу DNS Cloudflare, вы не должны включать функцию CDN при создании записи A для вашего почтового сервера.

Шаг 3: Настройка почтового сервера на Ubuntu 22.04 с помощью установщика Modoboa

Войдите на свой сервер через SSH, затем выполните следующие команды для обновления пакетов программного обеспечения.

sudo apt update

sudo apt upgrade -y

Я настоятельно рекомендую создать пользователя для управления сервером, а не использовать пользователя по умолчанию для повышения безопасности сервера. Выполните следующую команду, чтобы создать пользователя. Замените его предпочтительным именем пользователя.sudorootusername

adduser username

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-30

Затем добавьте пользователя в группу.sudo

adduser username sudo

Переключитесь на нового пользователя.

su - username

Modoboa написан на Python. Выполните следующую команду, чтобы установить необходимое программное обеспечение Python.

sudo apt-get install -y git python3-virtualenv python3-pip

Скачайте установщик modoboa с Github.

git clone https://github.com/modoboa/modoboa-installer

Затем перейдите в каталог и создайте файл конфигурации. Замените на собственное доменное имя.modoboa-installerexample.com

cd modoboa-installer

sudo ./run.py --stop-after-configfile-check example.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-31

Отредактируйте конфигурационный файл с помощью текстового редактора командной строки, такого как nano.installer.cfg

sudo nano installer.cfg

Чтобы получить действительный сертификат TLS от Let's Encrypt для вашего почтового сервера, в разделе измените значение типа с на .[certificate]self-signedletsencrypt

type = letsencrypt

И измените адрес электронной почты с вашего реального адреса электронной почты, который будет использоваться для восстановления учетной записи и важных уведомлений. Вы не сможете получить и установить сертификат Let's Encrypt, если используете адрес электронной почты по умолчанию.admin@example.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-32

По умолчанию установщик Modoboa установит сервер базы данных PostgreSQL, как указано в следующих строках в конфигурационном файле.

[database]
engine = postgres host = 127.0.0.1
install = true

Если вы хотите использовать сервер базы данных MariaDB, измените движок с . (Modoboa установит MariaDB вместо MySQL.)postgresmysql

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-33

Сохраните и закройте файл. (Чтобы сохранить файл в текстовом редакторе Nano, нажмите , затем нажмите для подтверждения. Чтобы выйти, нажмите клавишу .)Ctrl+OEnterCtrl+X

Затем следует использовать полное доменное имя (FQDN) в качестве имени узла для почтового сервера, например . Выполните следующую команду, чтобы задать имя хоста.mail.example.com

sudo hostnamectl set-hostname mail.example.com

Теперь нам нужно проверить, распространяются ли записи DNS в Интернет. В зависимости от используемого регистратора доменных имен запись DNS может распространяться мгновенно или для распространения может потребоваться до 24 часов. Вы можете перейти в https://dnsmap.io, ввести имя хоста вашего почтового сервера (), чтобы проверить распространение DNS.mail.example.com

Если запись DNS распространяется, выполните следующую команду, чтобы начать установку. (Пожалуйста, замените на ваше основное доменное имя, такое как . Не используйте поддомен, как в этой команде).example.comlinuxbabe.commail.example.com

sudo ./run.py --interactive example.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-34

Процесс установки может занять некоторое время. Это заняло 10 минут на моем сервере. После установки перезапустите сервер, чтобы убедиться, что каждая служба запустится автоматически.

sudo shutdown -r now

Если вы видите ошибку во время установки, вы можете использовать эту опцию, чтобы увидеть более подробные выходные данные.--debug

sudo ./run.py --interactive --debug example.com

После того, как Modoboa завершит установку, вы можете войти в админ панель с именем пользователя и паролем.adminpassword

  • Если ваш браузер не может подключиться к панели администратора, возможно, Nginx не запущен. Начните с . Если он не запускается, бегите, чтобы узнать, что не так.sudo systemctl restart nginxsudo nginx -t
  • Если вы видите внутреннее сообщение об ошибке, пожалуйста, используйте решение здесь.
В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-35

После того, как вы вошли в систему, вы должны перейти в -> ->, чтобы изменить пароль.AdminSettingsProfile

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-36

Шаг 4: Добавление почтовых ящиков в админ панель Modoboa

Перейдите на вкладку и нажмите кнопку, чтобы добавить новый домен.DomainsAdd

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-37

Затем введите основное доменное имя в поле Имя. Настоятельно рекомендуется включить подписывание DKIM, что может помочь с репутацией вашего домена. В поле вы можете ввести случайное слово, например . Выберите 2048 в качестве длины ключа.Key selectormodoboa

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-38

На следующем экране вы можете создать учетную запись администратора для своего домена. Протокол SMTP требует, чтобы почтовый сервер имел postmaster@example.com адрес.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-39

Нажмите кнопку Отправить, и ваше доменное имя будет добавлено в Modoboa.

Чтобы добавить адреса электронной почты, перейдите на вкладку и щелкните свое доменное имя.Domains

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-40

Затем щелкните Почтовые ящики.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-41

Нажмите кнопку и выберите .AddAccount

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-42

Затем выберите роль. Введите адрес электронной почты в поле Имя пользователя и введите пароль.Simple user

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-43

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

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-44

После нажатия кнопки отправки создается адрес электронной почты.

Шаг 5: Отправка тестовых писем

Чтобы войти в веб-почту, вам нужно сначала выйти из учетной записи администратора, а затем ввести учетные данные пользователя.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-45

После того, как вы вошли в веб-почту Modoboa, вы можете отправить тестовое электронное письмо с вашего частного почтового сервера на ваш другой адрес электронной почты и наоборот.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-46

Отключить серый список

Входящие электронные письма будут задерживаться на несколько минут, потому что по умолчанию Modoboa включает серый список, который говорит другому отправляющему SMTP-серверу повторить попытку через несколько минут. Это полезно для блокировки спама. Следующее сообщение указывает на то, что серый список включен./var/log/mail.log

postfix/postscreen[20995]: NOQUEUE: reject: RCPT from [34.209.113.130]:36980: 450 4.3.2 Service currently unavailable;

Тем не менее, серый список может быть довольно раздражающим. Вы можете отключить его, отредактировав основной конфигурационный файл Postfix.

sudo nano /etc/postfix/main.cf

Найдите следующие строки в конце файла и закомментируйте их. (Добавьте символ # в начале каждой строки.)

postscreen_pipelining_enable = yes
postscreen_pipelining_action = enforce

postscreen_non_smtp_command_enable = yes
postscreen_non_smtp_command_action = enforce

postscreen_bare_newline_enable = yes
postscreen_bare_newline_action = enforce

Сохраните и закройте файл. Затем перезапустите Postfix, чтобы изменения вступили в силу.

sudo systemctl restart postfix

Теперь вы сможете получать электронные письма, не дожидаясь нескольких минут.

Отключить политику

Если вы обнаружите следующую ошибку в файле, это означает, что демон политики не запущен./var/log/mail.log

postfix/smtpd[229906]: warning: connect to 127.0.0.1:9999: Connection refused
postfix/smtpd[229906]: warning: problem talking to server 127.0.0.1:9999: Connection refused

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

sudo systemctl restart supervisor

Затем проверьте, прослушивает ли демон политики порт 9999.

sudo ss -lnpt | grep 9999

Если он по-прежнему не прослушивает порт 9999, то вам нужно отключить демон политики в Postfix.

sudo nano /etc/postfix/main.cf

Найдите следующие строки.

smtpd_recipient_restrictions =
check_policy_service inet:127.0.0.1:9999
permit_mynetworks
permit_sasl_authenticated
check_recipient_access
proxy:pgsql:/etc/postfix/sql-maintain.cf
proxy:pgsql:/etc/postfix/sql-relay-recipient-verification.cf
reject_unverified_recipient
reject_unauth_destination
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_non_fqdn_helo_hostname

Закомментируйте директиву check_policy_service.

smtpd_recipient_restrictions =
# check_policy_service inet:127.0.0.1:9999
permit_mynetworks
permit_sasl_authenticated
check_recipient_access
proxy:pgsql:/etc/postfix/sql-maintain.cf
proxy:pgsql:/etc/postfix/sql-relay-recipient-verification.cf
reject_unverified_recipient
reject_unauth_destination
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_non_fqdn_helo_hostname

Сохраните и закройте файл. Затем перезапустите Postfix.

sudo systemctl restart postfix

Шаг 6: Проверка того, заблокирован ли порт 25 (исходящий)

Ваш интернет-провайдер или хостинг-провайдер не будет блокировать входящее соединение с портом 25 вашего сервера, что означает, что вы можете получать электронные письма с других почтовых серверов. Тем не менее, многие интернет-провайдеры / хостинг-провайдеры блокируют исходящее соединение с портом 25 других почтовых серверов, что означает, что вы не можете отправлять электронные письма.

Если ваша электронная почта не поступила на другой адрес электронной почты, например Gmail, выполните следующую команду на почтовом сервере, чтобы проверить, заблокирован ли порт 25 (исходящий).

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

Если он не заблокирован, вы увидите сообщения, как показано ниже, что указывает на успешное установление соединения. (Подсказка. Введите и нажмите клавишу ВВОД, чтобы закрыть подключение.)quit

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Если порт 25 (исходящий) заблокирован, вы увидите что-то вроде:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

В этом случае Postfix не может отправлять электронные письма на другие SMTP-серверы. Попросите вашего интернет-провайдера / хостинг-провайдера открыть его для вас. Если они отклоняют ваш запрос, вам нужно настроить ретрансляцию SMTP для обхода блокировки порта 25.

Все еще не можете отправить электронную почту?

Если порт 25 (исходящий) не заблокирован, но вы по-прежнему не можете отправлять электронные письма со своего почтового сервера на другой адрес электронной почты, такой как Gmail, вам следует проверить почтовый журнал ()./var/log/mail.log

sudo nano /var/log/mail.log

Например, некоторые пользователи могут видеть в файле следующие строки.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Это означает, что ваш почтовый сервер использует IPv6 для отправки электронной почты, но вы не настроили записи IPv6. Вы должны перейти в диспетчер DNS, установить запись для , затем вы должны установить запись для вашего IPv6-адреса, который обсуждается на шаге 8.AAAAmail.your-domain.comPTR

Шаг 7: Использование почтовых клиентов на вашем компьютере или мобильном устройстве

Запустите настольный почтовый клиент, такой как Mozilla Thunderbird, и добавьте учетную запись электронной почты.

  • В разделе Сервер входящей почты выберите Протокол IMAP, введите имя сервера, выберите порт 143 и STARTTLS. Выберите в качестве метода проверки подлинности.mail.your-domain.comnormal password
  • В разделе исходящей почты выберите протокол SMTP, введите имя сервера, выберите порт 587 и STARTTLS. Выберите в качестве метода проверки подлинности.mail.your-domain.comnormal password
В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-47

Вы также можете использовать протокол IMAP на порту 993 с шифрованием SSL/TLS.

Шаг 8: Улучшение доставки электронной почты

Чтобы ваши электронные письма не помечались как спам, вы должны установить , и записи.PTRSPFDKIMDMARC

Запись PTR

Запись указателя или PTR-запись сопоставляет IP-адрес с полным доменным именем (полным доменным именем). Это аналог записи A и используется для обратного поиска DNS, что может помочь с блокировкой спамеров. Многие SMTP-серверы отклоняют электронные письма, если для отправляющего сервера не найдена запись PTR.

Чтобы проверить запись PTR на наличие IP-адреса, выполните следующую команду:

dig -x IP-address +short

или

host IP-address

Запись PTR не управляется регистратором доменных имен. Он управляется организацией, которая предоставляет вам IP-адрес. Поскольку вы получаете IP-адрес от вашего хостинг-провайдера или интернет-провайдера, а не от регистратора доменных имен, вы должны установить запись PTR для своего IP-адреса в панели управления вашего хостинг-провайдера или спросить вашего интернет-провайдера. Его значением должно быть имя хоста вашего почтового сервера: . Если ваш сервер использует IPv6-адрес, обязательно добавьте PTR-запись для вашего IPv6-адреса.mail.your-domain.com

Чтобы отредактировать обратную запись DNS для вашего Kamatera VPS, войдите в клиентскую зону Kamatera, затем откройте запрос в службу поддержки и попросите их добавить запись PTR для IP-адресов вашего сервера, чтобы указать IP-адрес на . Вы можете подумать, что это неудобно, но это делается для того, чтобы держать спамеров подальше от платформы, поэтому законные отправители электронной почты, такие как мы, будут иметь отличную репутацию IP.mail.your-domain.com

Запись SPF

Запись SPF (Sender Policy Framework) указывает, каким узлам или IP-адресу разрешено отправлять сообщения электронной почты от имени домена. Вы должны разрешить только вашему собственному почтовому серверу или серверу вашего интернет-провайдера отправлять электронные письма для вашего домена. В интерфейсе управления DNS создайте новую запись TXT, как показано ниже.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-48

Объяснение:

  • TXT указывает, что это запись TXT.
  • Введите @ в поле имени, чтобы представить основное доменное имя.
  • v=spf1 указывает, что это запись SPF, а версия — SPF1.
  • mx означает, что всем хостам, перечисленным в записях MX, разрешено отправлять электронные письма для вашего домена, а всем остальным хостам запрещено.
  • ~all указывает, что электронные письма с вашего домена должны приходить только с хостов, указанных в записи SPF. Электронные письма, отправленные с других хостов, будут помечены как поддельные.

Чтобы проверить, распространяется ли ваша запись SPF в общедоступный Интернет, вы можете использовать утилиту dig на вашем компьютере Linux, как показано ниже:

dig your-domain.com txt

Этот параметр говорит, что мы хотим запрашивать только записи TXT.txtdig

Запись DKIM

DKIM (DomainKeys Identified Mail) использует закрытый ключ для цифровой подписи электронных писем, отправленных из вашего домена. Получающие SMTP-серверы проверяют подпись с помощью открытого ключа, который публикуется в записи DNS DKIM.

Когда мы добавляли доменное имя в админ панель Moboboa ранее, мы включили DKIM подпись, поэтому о подписывающей части позаботились. Единственное, что осталось сделать, это создать запись DKIM в ДИСПЕТЧЕРЕ DNS. Сначала зайдите в админ панель Modoboa и выберите свое доменное имя. В разделе DNS нажмите кнопку.Show key

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-49

Открытый ключ будет раскрыт. Существует два формата. Нам нужен только формат Bind/named.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-50

Зайдите в диспетчер DNS, создайте запись TXT, введите в поле Имя. (Напомним, что мы использовали modoboa в качестве селектора при добавлении доменного имени в админ панели.) Скопируйте все в скобках и вставьте в поле значения. Удалите все двойные кавычки. Диспетчер DNS может потребовать удаления других недопустимых символов, таких как возврат каретки.modoboa._domainkey

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-51

Обратите внимание, что запись DKIM может потребоваться некоторое время для распространения в Интернете. В зависимости от используемого регистратора доменных имен запись DNS может распространяться мгновенно или для распространения может потребоваться до 24 часов. Вы можете перейти в https://www.dmarcanalyzer.com/dkim/dkim-check/, войти в качестве селектора и ввести свое доменное имя, чтобы проверить распространение записи DKIM.modoboa

Для тех, кто заинтересован, Modoboa использует OpenDKIM для генерации закрытого ключа для вашего доменного ключа и проверки подписей входящих электронных писем.

Запись DMARC

DMARC расшифровывается как Domain-based Message Authentication, Reporting and Conformance. DMARC может помочь в получении почтовых серверов для идентификации законных электронных писем и предотвращения использования вашего доменного имени при спуфинге электронной почты.

Чтобы создать запись DMARC, перейдите в диспетчер DNS и добавьте запись TXT. В поле имя введите . В поле значения введите следующее:_dmarc

v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@your-domain.com

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-52

Приведенная выше запись DMARC является безопасной отправной точкой. Чтобы увидеть полное объяснение DMARC, пожалуйста, ознакомьтесь со следующей статьей.

Шаг 7: Тестирование оценки электронной почты и размещения

После создания записи PTR, SPF, DKIM перейдите к https://www.mail-tester.com. Вы увидите уникальный адрес электронной почты. Отправьте электронное письмо из своего домена на этот адрес, а затем проверьте свой счет. Как видите, я получил идеальную оценку.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-53

Mail-tester.com можете показать вам только оценку отправителя. Есть еще один сервис под названием GlockApps, который позволяет вам проверить, помещена ли ваша электронная почта в папку «Входящие» получателя или папка спама или отклонена напрямую. Он поддерживает многих популярных поставщиков услуг электронной почты, таких как Gmail, Outlook, Hotmail, YahooMail, почта iCloud и т. Д.

В этой статье я расскажу вам о том как быстро настроить собственный почтовый сервер для компании на Ubuntu 22.04 + Modoboa.-54

Электронная почта отклонена почтовым ящиком Майкрософт?

Корпорация Майкрософт использует внутренний черный список, который блокирует многие законные IP-адреса. Если ваши электронные письма отклоняются Outlook или Hotmail, вам нужно следовать инструкциям, приведенным ниже, чтобы обойти черный список Microsoft Outlook.

Что делать, если ваши электронные письма по-прежнему помечаются как спам?

У меня есть больше советов для вас в этой статье: Как предотвратить пометку ваших писем как спам. Хотя это займет некоторое время и усилия, ваши электронные письма в конечном итоге будут помещены в почтовый ящик после применения этих советов.

Автоматическое продление сертификата Let's Encrypt TLS

Сертификат Let's Encrypt TLS действителен в течение 90 дней. Чтобы автоматически обновить сертификат, отредактируйте файл crontab пользователя root.

sudo crontab -e

Добавьте следующую строку в конец этого файла.

@daily /opt/certbot-auto renew -q && systemctl reload nginx postfix dovecot

Сохраните и закройте файл. Это говорит Cron выполнять команду обновления certbot каждый день. Если у сертификата осталось 30 дней, certbot обновит его. Необходимо перезагрузить веб-сервер Nginx, SMTP-сервер Postfix и IMAP-сервер Dovecot, чтобы они могли получить новый сертификат.

Включение SMTPS-порта 465

Если вы собираетесь использовать клиент Microsoft Outlook, то вам необходимо включить SMTPS-порт 465 в SMTP-сервере Postfix.

Устранение неполадок

Во-первых, пожалуйста, используйте VPS с не менее 2 ГБ оперативной памяти. Запуск Modoboa на 1 ГБ RAM VPS приведет к тому, что база данных, SpamAssassin или ClamAV будут убиты из-за проблемы с нехваткой памяти. Если вы действительно хотите использовать 1 ГБ оперативной памяти VPS, вы потеряете входящие электронные письма и будете иметь другие нежелательные результаты.

Если веб-интерфейс Modoboa недоступен, например, ошибка шлюза 502, вы должны проверить журналы Nginx в каталоге, чтобы найти подсказки. Вы также можете проверить почтовый журнал ./var/log/nginx//var/log/mail.log

Проверьте, запущены ли различные службы.

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status clamav-daemon

systemctl status amavis

systemctl status uwsgi

systemctl status supervisor

Если брандмауэр включен, необходимо открыть следующие порты в брандмауэре.

HTTP port: 80
HTTPS port: 443
SMTP port: 25
Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)
IMAP port: 143 and 993

Если вы хотите использовать брандмауэр UFW, ознакомьтесь с моим руководством здесь: Начало работы с брандмауэром UFW в Debian и Ubuntu.

Автоматическое отключение ClamAV

Я обнаружил, что сервис имеет тенденцию останавливаться без четкой причины, даже когда достаточно оперативной памяти. Это задержит электронные письма на 1 минуту. Мы можем настроить его на автоматический перезапуск, если он останавливается через сервисный блок systemd. Скопируйте исходный файл сервисного блока в каталог.clamav-daemon/etc/systemd/system/

cp /lib/systemd/system/clamav-daemon.service /etc/systemd/system/clamav-daemon.service

Затем отредактируйте файл сервисного блока.

nano /etc/systemd/system/clamav-daemon.service

Добавьте следующие две строки в раздел [служба].

Restart=always
RestartSec=3

Типа того:

[Service]
ExecStart=/usr/sbin/clamd --foreground=true
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
StandardOutput=syslog
Restart=always RestartSec=3

Сохраните и закройте файл. Затем перезагрузите systemd и перезапустите clamav-daemon.service.

systemctl daemon-reload
systemctl restart clamav-daemon