Mailcow – готовый почтовый сервер на основе Postfix, Dovecot и другого программного обеспечения с открытым исходным кодом, который обеспечивает удобный современный веб-интерфейс для администрирования и использования электронной почты. В качестве почтового web клиента используется SOGo.
Mailcow это простой, универсальный комбайн с простым интерфейсом, который основан на docker контейнерах и можно использовать для быстрого развертывания полнофункционального почтового сервиса в небольших организациях. По простоте и функционалу он превосходит популярный iRedMail.
В этой статье мы рассмотрим, как настроить необходимые DNS записи для работы почты и развернуть почтовый сервер mailcow на Ubuntu 20.04.
Добавляем официальный репозиторий Docker
Mailcow основан на контейнерах, поэтому нужно сначала установить Docker. Обновите существующий перечень пакетов:
sudo apt update
Затем установите пакеты, которые позволяют apt использовать пакеты по HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Следующие команды позволяет загрузить и установить официальный ключ GPG Docker. Ключ используется для проверки пакетов, установленных из репозитория Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Теперь, когда официальный ключ GPG установлен, выполните следующие команды, чтобы добавить стабильный репозиторий Docker в Ubuntu:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Затем обновите базу данных пакетов информацией из вновь добавленного репозитория:
sudo apt update
Далее устанавливаем Docker:
sudo apt install docker-ce
Убедитесь, что Docker CE установлен правильно, запустив образ hello-world:
sudo docker run hello-world
Вы должны увидеть строки, похожие на показанные ниже:
Output: docker-compose version 1.28.6, build 5db8d86f
Установка Docker Compose
В Ubuntu Linux вы можете загрузить Docker Compose со страницы выпуска репозитория Compose на GitHub . Для загрузки последней версии 1.28.6 выполните следующие команды:
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
После загрузки сделаем файл исполняемым и создадим символическую ссылку на /usr/binary
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Проверьте, что Docker Compose работает:
docker-compose –version
Установка MailCow
Теперь, когда Docker и Docker Compose установлены, можно приступить к установке Mailcow.
Сначала установите Git:
sudo apt install git
После этого перейдите в каталог /opt и склонируйте репозиторий mailcow-dockerized:
cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
Затем запустите скрипт чтобы загрузить зависимости Mailcow и сгенерировать конфиг файл:
sudo ./generate_config.sh
Сначала нужно указать имя почтового сервера (host name), например
mail.example.ru
:
Укажите временную зону (Europe/Moscow).
Timezone [Etc/UTC]: Europe/Moscow
Мы сгенерировали конфиг mailcow.conf на основе которого будет собираться связка из docker-контейнеров. При необходимости можно изменить порты если они у вас уже заняты, например, другими докер контейнерами, а также изменить hostname (MAILCOW_HOSTNAME=mail.example.ru)
Порты по умолчанию:
SMTP_PORT=25 SMTPS_PORT=465 SUBMISSION_PORT=587 IMAP_PORT=143 IMAPS_PORT=993 POP_PORT=110 POPS_PORT=995 SIEVE_PORT=4190 DOVEADM_PORT=127.0.0.1:19991 HTTP=80 HTTPS=443
Запускаем установку всех связанных контейнеров командой:
sudo docker-compose up -d
Установка может занять от 5 до 15 минут. В конце установки вы увидим что-то похожее…
Creating mailcowdockerized_dockerapi-mailcow_1 ... done Creating mailcowdockerized_olefy-mailcow_1 ... done Creating mailcowdockerized_memcached-mailcow_1 ... done Creating mailcowdockerized_watchdog-mailcow_1 ... done Creating mailcowdockerized_unbound-mailcow_1 ... done Creating mailcowdockerized_sogo-mailcow_1 ... done Creating mailcowdockerized_ejabberd-mailcow_1 ... done Creating mailcowdockerized_clamd-mailcow_1 ... done Creating mailcowdockerized_solr-mailcow_1 ... done Creating mailcowdockerized_redis-mailcow_1 ... done Creating mailcowdockerized_php-fpm-mailcow_1 ... done Creating mailcowdockerized_mysql-mailcow_1 ... done Creating mailcowdockerized_nginx-mailcow_1 ... done Creating mailcowdockerized_dovecot-mailcow_1 ... done Creating mailcowdockerized_postfix-mailcow_1 ... done Creating mailcowdockerized_acme-mailcow_1 ... done Creating mailcowdockerized_netfilter-mailcow_1 ... done Creating mailcowdockerized_rspamd-mailcow_1 ... done Creating mailcowdockerized_ipv6nat-mailcow_1 ... done
Теперь вы можете получить доступ к веб интерфейсу mailcow
https://${MAILCOW_HOSTNAME}
с учетными данными по умолчанию admin и паролем администратора moohoo. (У меня это _http://192.168.140.134/)
Настройка DNS записей для почтового сервера
PTR-запись
Убедитесь, что запись PTR вашего IP-адреса соответствует FQDN вашего хоста mailcow: ${MAILCOW_HOSTNAME}. Эта запись обычно устанавливается у провайдера, у которого вы арендовали IP-адрес (сервер).
Минимальная конфигурация DNS
В этом примере показан набор записей для одного домена, управляемого mailcow. Каждому домену, добавленному в mailcow, для правильной работы необходим как минимум этот набор записей:
#Name | Type | Value |
IN A | 1.2.3.4 | |
autodiscover | IN CNAME | mail.example.ru. (your ${MAILCOW_HOSTNAME}) |
autoconfig | IN CNAME | mail.example.ru. (your ${MAILCOW_HOSTNAME}) |
@ | IN MX 0 | mail.example.ru. (your ${MAILCOW_HOSTNAME}) |
MX-запись вид DNS-записи, предназначенный для регистрации почтовых SMTP серверов. Именно с ее помощью почтовый агент отправителя определяет smtp сервер, на которые будет выполняться доставку письма.
DKIM-запись
Настоятельно рекомендуется создать запись DKIM TXT в пользовательском интерфейсе mailcow и установить соответствующую запись TXT в записях DNS.
#Name | Type | Value |
dkim._domainkey | IN TXT | «v=DKIM1;k=rsa;t=s;s=email;p=MIIB…» |
SPF-запись
SP позволяет владельцу домена указать в TXT-записи, соответствующей имени домена, список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.
Пример SPF-данных в TXT-записи DNS:
#Name | Type | Value |
IN TXT | «v=spf1 a mx -all» |
DMARC-запись
DMARC — предназначенна для снижения количества спамовых и фишинговых электронных писем, основанная на идентификации почтовых доменов отправителя на основании правил и признаков, заданных на почтовом сервере получателя
Пример DMARS-данных в TXT-записи DNS:
#Name | Type | Value |
_dmarc | IN TXT | «v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; sp=quarantine» |
Управление Docker контейнерами Mailcow
Управление контейнерами, их состояние, перезапуск и просмотр журналов, можно осуществлять с помощью пользовательского интерфейса mailcow, а также через стандартные команды docker-compose.
Создание почтового домена, ящика и проверка работоспособности
Теперь вам нужно добавить обслуживаемый домен через веб интерфейс mailcow. Вверху, в основных вкладках выберите “Конфигурация” -> “Настройка почты”.
Далее: на вкладке “Домены”. В меню справа, нажимаем на “Добавить домен”.
Затем: в появившемся окне заполните основные параметры (Максимальное количество ящиков, их размер, нужно ли создавать глобальную адресную книгу и т.д.) и нажимаем на “Добавить домен и перезапустить SOGo”.
Для создания почтового ящика необходимо перейти на вкладку “Почтовые ящики” и нажать на “Добавить почтовый аккаунт”
Затем в появившемся окне заполняем основные параметры (имя, размер ящика, пароль) и нажимаем на “Добавить”
Теперь можно зайти в веб интерфейс почтового ящика перейдя по адресу http://${MAILCOW_HOSTNAME}/SOGo (у меня это _http://192.168.140.134/SOGo/).
После успешной автаризации мы увидем главное экран почтового клиента.
Mailcow это набор контейнеров docker, который позволит вам максимально быстро развернуть простой и современный почтовый сервер с дружественными интерфейсом.
Спасибо.
Пользую эту связку, но без докера.
Поднимал и настраивал все руками — получил большой опыт.
У меня привязка к LDAP (AD).
PS. У sogo есть неприятная особенность. Попробуйте создать пол-ля с фамиилией, где 2-3-й буквой будет Б. Затем создать письмо и попытаться поискать в адресной книге этого пол-ля. У вас получится набрать только буквы ДО буквы Б — sogo воспринимает Б как ЗАПЯТУЮ (
Я писал им про это,но они до сих пор это не исправили.
Костыль (войти в докер-контейнер сого):
cp -fv /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer.services.js{,.bak}
sed -i 's/,n.KEY_CODE.COMMA,n.KEY_CODE.SEMICOLON//' /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer.services.js
cp -fv /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer.services.js.map{,.bak}
sed -i 's/"COMMA","SEMICOLON",//' /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer.services.js.map
cp -fv /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer/MessageEditorController.js{,.bak}
sed -i -e '/this\.recipientSeparatorKeys.*\[$/,/\];$/c\
this\.recipientSeparatorKeys = \[\
\$mdConstant\.KEY_CODE\.ENTER,\
\$mdConstant\.KEY_CODE\.TAB\
\];' /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer/MessageEditorController.js
docker exec -it 532d7f9c59dc bash «cp -fv /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer.services.js{,.bak}»
bash: cp -fv /usr/lib/GNUstep/SOGo/WebServerResources/js/Mailer.services.js{,.bak}: No such file or directory
У меня Sogo не в докере.Поищите руками в докере этот файл.
а как ты привязал к ldap, можешь рассказать поподробнее
https://github.com/Programmierus/ldap-mailcow
и что, хочешь сказать оно заработало?
Подскажите пожалуйста, настроил ldap по(https://github.com/Programmierus/ldap-mailcow?tab=readme-ov-file) уч записи создаются но войти в почту не выход пишет неверные уч данные
А как это все лучше бэкапить?
В комплекте есть скрипты, вот здесь подробно описано:
_https://mailcow.github.io/mailcow-dockerized-docs/b_n_r_backup/
sudo docker run hello-world — после выдало ошибку:
docker: Error response from daemon: Head _https://registry-1.docker.io/v2/library/hello-world/manifests/latest: Get _https://auth.docker.io/token?scope=repository%3Alibrary%2Fhello-world%3Apull&service=registry.docker.io: x509: certificate signed by unknown authority.
А масштабироваться через docker swarm всё это будет?
Странно. Третья интекрация. На Hyper-v. Диск фииксировыанный. Находил рекомендациии в конфиге удалить oom_control. Короче, что не делал — что то не выходит.
free -h
total used free shared buff/cache available
Mem: 5.7Gi 2.0Gi 806Mi 1.0Mi 2.9Gi 3.4Gi
Swap: 3.7Gi 0.0Ki 3.7Gi
Creating mailcowdockerized_watchdog-mailcow_1 … error
Creating mailcowdockerized_dockerapi-mailcow_1 …
Creating mailcowdockerized_sogo-mailcow_1 …
Creating mailcowdockerized_clamd-mailcow_1 … error
Creating mailcowdockerized_olefy-mailcow_1 …
ERROR: for mailcowdockerized_clamd-mailcow_1 Cannot start service clamd-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/conf/clamav’: mkdir /opt/mailcow-dockerized: read-only file system
Creating mailcowdockerized_solr-mailcow_1 … done
Creating mailcowdockerized_unbound-mailcow_1 … error
Creating mailcowdockerized_memcached-mailcow_1 … done
Creating mailcowdockerized_redis-mailcow_1 … done
ERROR: for mailcowdockerized_sogo-mailcow_1 Cannot start service sogo-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/conf/sogo/
Creating mailcowdockerized_dockerapi-mailcow_1 … done
ERROR: for mailcowdockerized_unbound-mailcow_1 Cannot start service unbound-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/hook
Creating mailcowdockerized_olefy-mailcow_1 … done
Creating mailcowdockerized_php-fpm-mailcow_1 … error
ERROR: for mailcowdockerized_php-fpm-mailcow_1 Cannot start service php-fpm-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/hooks/phpfpm’: mkdir /opt/mailcow-dockerized: read-only file system
ERROR: for clamd-mailcow Cannot start service clamd-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/conf/clamav’: mkdir /opt/mailcow-dockerized: read-only file system
ERROR: for watchdog-mailcow Cannot start service watchdog-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/assets/ssl’: mkdir /opt/mailcow-dockerized: read-only file system
ERROR: for sogo-mailcow Cannot start service sogo-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/conf/sogo/custom-favicon.ico’: mkdir /opt/mailcow-dockerized: read-only file system
ERROR: for unbound-mailcow Cannot start service unbound-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/hooks/unbound’: mkdir /opt/mailcow-dockerized: read-only file system
ERROR: for php-fpm-mailcow Cannot start service php-fpm-mailcow: error while creating mount source path ‘/opt/mailcow-dockerized/data/hooks/phpfpm’: mkdir /opt/mailcow-dockerized: read-only file system
ERROR: Encountered errors while bringing up the project.
root@ub1:/opt/mailcow-dockerized#
What is happening?
Please do not stop the stack while we are initializing the database or do other preparations.
What is happening? — Nginx cannot connect to an upstream server or other services are not ready yet.
This is fine if mailcow was just installed or updated and can take a few minutes to complete.
Please check the logs or contact support if the error persists.
Quick debugging
Check Nginx and PHP logs:
docker-compose logs —tail=200 php-fpm-mailcow nginx-mailcow
Make sure your SQL credentials in mailcow.conf (a link to .env) do fit your initialized SQL volume. If you see an access denied, you might have the wrong mailcow.conf:
source mailcow.conf ; docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME}
In case of a previous failed installation, create a backup of your existing data, followed by removing all volumes and starting over (NEVER do this with a production system, it will remove ALL data):
BACKUP_LOCATION=/tmp/ ./helper-scripts/backup_and_restore.sh backup all
docker-compose down —volumes ; docker-compose up -d
Make sure your timezone is correct. Use «America/New_York» for example, do not use spaces. Check here for a list.
Кто-то сталкивался с такой ошибкой после запуска докер стака?
# cd /var/docker/mailcow-dockerized
# docker-compose stop
# docker-compose rm -f
# docker system prune -a
[y]
# rm -rf /var/lib/docker/volumes/mailcow*
# service docker restart
# docker-compose up -d
Mailcow поддерживает также roundcube webmail,а можно ли сделать следующим образом:при нажатии кнопки на главное странице webmail, открывались автоматически не сого(что по умолчанию),а можно было сделать выбор между sogo и roundcube
После команды sudo docker-compose up -d ошибки:
ERROR: The Compose file ‘./docker-compose.yml’ is invalid because:
services.nginx-mailcow.ports contains an invalid type, it should be a number, or an object
services.nginx-mailcow.ports contains an invalid type, it should be a number, or an object
В файле docker-compose.yml 380 и 381 строки измените на
— «${HTTPS_PORT:-443}:443»
— «${HTTP_PORT:-80}:80»
Creating mailcowdockerized_dockerapi-mailcow_1 … done
Creating mailcowdockerized_memcached-mailcow_1 …
Creating mailcowdockerized_sogo-mailcow_1 … done
Creating mailcowdockerized_watchdog-mailcow_1 …
Creating mailcowdockerized_solr-mailcow_1 … done
Creating mailcowdockerized_olefy-mailcow_1 … done
Creating mailcowdockerized_olefy-mailcow_1 …
Creating mailcowdockerized_redis-mailcow_1 …
ERROR: for mailcowdockerized_unbound-mailcow_1 UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for mailcowdockerized_redis-mailcow_1 UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for mailcowdockerized_memcached-mailcow_1 UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for mailcowdockerized_watchdog-mailcow_1 UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for unbound-mailcow UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for redis-mailcow UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for memcached-mailcow UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for watchdog-mailcow UnixHTTPConnectionPool(host=’localhost’, port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with —verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
теперь это
Starting mailcowdockerized_redis-mailcow_1 …
mailcowdockerized_olefy-mailcow_1 is up-to-date
mailcowdockerized_watchdog-mailcow_1 is up-to-date
mailcowdockerized_sogo-mailcow_1 is up-to-date
mailcowdockerized_unbound-mailcow_1 is up-to-date
mailcowdockerized_solr-mailcow_1 is up-to-date
mailcowdockerized_memcached-mailcow_1 is up-to-date
mailcowdockerized_mysql-mailcow_1 is up-to-date
mailcowdockerized_clamd-mailcow_1 is up-to-date
Starting mailcowdockerized_postfix-mailcow_1 …
mailcowdockerized_dovecot-mailcow_1 is up-to-date
mailcowdockerized_ofelia-mailcow_1 is up-to-date
mailcowdockerized_rspamd-mailcow_1 is up-to-date
Starting mailcowdockerized_postfix-mailcow_1 … error
Starting mailcowdockerized_redis-mailcow_1 … errortfix-mailcow_1 (38ff9213f3e3b0331976cccb30a4db5e2a0bff22528af3d2462904f2cf3a13b7): Error starting userland proxy: listen tcp4 0.0.0.0:25: bind: address already in use
ERROR: for mailcowdockerized_redis-mailcow_1 Cannot start service redis-mailcow: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: open /proc/sys/net/core/somaxconn: no such file or directory: unknown
ERROR: for postfix-mailcow Cannot start service postfix-mailcow: driver failed programming external connectivity on endpoint mailcowdockerized_postfix-mailcow_1 (38ff9213f3e3b0331976cccb30a4db5e2a0bff22528af3d2462904f2cf3a13b7): Error starting userland proxy: listen tcp4 0.0.0.0:25: bind: address already in use
ERROR: for redis-mailcow Cannot start service redis-mailcow: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: open /proc/sys/net/core/somaxconn: no such file or directory: unknown
ERROR: Encountered errors while bringing up the project.
всё сделал, шикарно, а как сделать чтоб при входе на почту открывался сразу SOGo и не mailcow
подскажите куда подсунуть сертификаты ссл?
это сделал, как сделать редирект на сого, если использую 301ый, то картинки не грузятся
Подскажите пожалуйста у меня после установки отсутствуют ARC/DKIM ключи, добавить не могу пишет Доступ запрещён, или указаны неверные данные
Отбой сделал через openssl genrsa -out mail.example.ru 1024
Добрый день, подскажите пожалуйста, установил докер потом mailcow все норм, создал домен-почту, но при входе в SOGo нет ни одной папки вообще.
не решили проблему?
нет, образ ставил на виртуалку, может что то нужно в правилах прописать или куда копать хз, как будто dovecot не работает, хотя контейнер запущен
в логах постфикса ошибки:
warning: process /usr/lib/postfix/sbin/smtpd pid 428 exit status 1
warning: /usr/lib/postfix/sbin/smtpd: bad command startup — throttling
Так и не получилось? Сервер в локалке работал?
нет, образ ставил на виртуалку, может что то нужно в правилах прописать или куда копать хз, как будто dovecot не работает, хотя контейнер запущен
Подскажите, как изменить порядок отображения почтовых папок?
Или хоть по алфавиту их расположить…
Не приходят письма извне, которые отправляю на доменные ящики. Отправка работает, правда, все попадает в спам. Но больше всего переживаю из-за отсутствия входящих. При этом никакого ответа о недоставке не приходит. Кто-то может подсказать, что проверить?
При отключении сервера от глобальной сети, перестает работать Sogo точнее не отображаются папки «Исходящие», «Входящие» и т.д. проблема с dovecot, но что именно не могу понять…
Как в нем увеличить размер отправки сообщений? в main.cf поменял
message_size_limit =
Но толку ноль.. есть идеи? Может не успевает сделать?
Подскажите, как переименовать папки?
При настройке через Outlook «Отправленные» отображаются как «Sent», «Корзина» теперь «Trash», а «Нежелательная почта» стала «Junk». Пользователи которые не дружат с английским недоумевают и теряются.
Использую thunderbird
Попробуйте у пользователя, иногда помогает:
1. Остановить Аутглюк.
2. ПУСК-ВЫПОЛНИТЬ: outlook /resetfoldernames.
3. Перезапустить Аутглюк.
Скорее всего проблема с настройками Dovecot в Mailcow
Только я пока не разобрался как их поменять, не очень хорошо разбираюсь в Docker
Коллеги как увеличить обьем вложения который можно отправлять?
Пост выше почитай, у тебя работает так? У меня нет, все по инструкции
По инструкции сделал толку нет. Пока ищу решение.
Есть вариант что не успевает по таймауту отваливается, но я пока не нашёл его, да и не искал сильно, если найдёшь дай знать, я тоже напишу если получится
Я нашел ответ, но важно чтобы ответная сторона приняла это письмо, может не приходить.
milter_default_action = accept
пожалуйста
Это в каком конфиге? Postfix?
Да
Вячеслав большое тебе спасибо.
Очень выручил
Почему может не работать отправка писем в локальной сети? С интернетом все ок
Кто подскажет решение проблемы ?
В sogo завел контакт в адресную книгу и через эту книгу пытаюсь отправить письмо, письмо не уходит, крутит бесконечно «Отправляется» но не уходит. (( что за глюк кто подскажет ?
Вопрос, а аак на андроиде и на айфоне можно установить приложение типа яндекс.почты, чтобы в приложения письма приходили? Сервер поднял в SOGo захожу по ссылке в браузере.
Необходимо убедиться что IMAP/SMTP порты открыты, в MailcowUI войти в учетную запись пользователя, после входа перейти во вкладку пароли приложений — сгенерить пароль и дальше уже в мобильном приложении указать данные:
AccountName (email): user@ domain.com
IMAP Server: imap.domain.com / Port 993
SMTP Server: smtp.domain.com / Port 465
Пароль для аутентификации IMAP/SMTP тот который сгенерили выше.
Добрый день. Вижу ЛЮБЫЕ сообщения. Но никак не могу найти крайне необходимую функцию. Необходимо, что бы почта приходящая на один адрес, копировалась и пересылалась на второй. Так же просто как это делалось в PLeSK. В IRedMAIL более менее понятно как делается. А тут я так и не понял как. Но это крайне необходимо. И нигде про это нет упоминаний.
Добрый день, если ветка актуальная, почему может не уходить сразу письма с почтовой программы мобильной типа YAndex.Почта на телефоне,
И никто не разбирался чтобы адресная книга GAL подтягивалась в Outlook или в ThunderBird ?
Похоже перед командой
sudo docker-compose up -d
нужна еще одна
docker compose pull
у меня две проблемы, это _25._tcp.mail.vispost.ru TLSA 110: Operation timed out
и вторая
у меня две виртуальных машины, на одном proxy nginx manager, на второй mailcow, на машине PNM получил сертификат Let’s Encrypt для домена mailcow, вопрос как этот сертификат подключит на mailcow?