Перейти к основному контенту

mailcow

mailcow

Описание

Комбинация докеризированных сервисов для отправки и получения почтовых писем.
Данная инструкция может быть не актуальна, рекомендуется сверятся с официальной документацией.

Предварительная настройка

Настройка DNS

DNS должен быть настроен в соответсвии с .MYAFFETTA.RU Почта

Настройка портов

Сервис Протокол Порт Контейнер Переменная Описание
Postfix SMTP TCP 25 postfix-mailcow ${SMTP_PORT}
Postfix SMTPS TCP 465 postfix-mailcow ${SMTPS_PORT}
Postfix Submission TCP 587 postfix-mailcow ${SUBMISSION_PORT}
Dovecot IMAP TCP 143 dovecot-mailcow ${IMAP_PORT}
Dovecot IMAPS TCP 993 dovecot-mailcow ${IMAPS_PORT}
Dovecot POP3 TCP 110 dovecot-mailcow ${POP_PORT}
Dovecot POP3S TCP 995 dovecot-mailcow ${POPS_PORT}
Dovecot ManageSieve TCP 4190 dovecot-mailcow ${SIEVE_PORT}
Nginx Reverse Proxy HTTP TCP 80 reverse-proxy
Nginx Reverse Proxy HTTPS TCP 443 reverse-proxy

удостовериться что порты не используются другими программами:

ss -tlpn | grep -E -w '25|80|443|110|143|443|465|587|993|995|4190'

или:

netstat -tulpn | grep -E -w '25|80|443|110|143|443|465|587|993|995|4190'

Установка

Шаг 1:
п

  1. Перейти в папку docker

    docker:
cd /путь/к/репозиторию/docker/

Шаг 2:
с

  1. Склонировать репозиторий mailcow

    mailcow:
git clone https://github.com/mailcow/mailcow-dockerized

Шаг 3:
п

  1. Перейти в папку mailcow-dockerized

    dockerized:
cd mailcow-dockerized/

Шаг 4:
с

  1. Скопировать mailcow.conf.example из mailcow-modifications в mailcow-dockerized, изменить настройки по необходимости и заполнить пустые поля паролей (или взять mailcow.conf из бэкапа)

    :
cp ../mailcow-modifications/mailcow.conf.example ./mailcow.conf

необходимо отключать поддержку IPv6, так как она ломает функционирование спам фильтра, причина: сервер не имеет IPv6 адреса и не может достучатся до антиспам сервисов

Шаг 5:
с

  1. Сделать символьные ссылки файлов из mailcow-modifications в mailcow-dockerizeddockerized:
    docker-compose.override.yml нужен для отключения IPv6 и подключения контейнеров к обратному прокси

ln -s ../mailcow-modifications/docker-compose.override.yml ./docker-compose.override.yml

extra.cf нужен для отключения IPv6

cd data/conf/postfix/
ln -s ../../../../mailcow-modifications/extra.cf ./extra.cf
cd ../../../

Шаг 6:
о

  1. Отключить IPv6 в unbound-mailcowmailcow:
    изменить data/conf/unbound/unbound.conf и установить do-ip6 на "no":

nano data/conf/unbound/unbound.conf
server:
  [...]
  do-ip6: no
  [...]

Шаг 7:
з

  1. Запустить mailcow

    mailcow:
docker compose up -d