Настройка Dovecot
Сервер в кармане, или просто о сложном!
главная – Статьи – Почта – Postfix + Dovecot + MySQL
Теги: Настройка сервера Почтовый сервер
Последнее обновление: 05.05.2015.
Введение
Dovecot выполняет роль POP/IMAP почтового сервера. Фактически, он выполняет две функции:
- (основная) получает почту от MTA (Sendmail, Postfix и др.) и хранит ее на диске;
- (в моем случае) осуществляет авторизацию логина/пароля почтовых пользователей.
В данном руководстве пойдет речь о настройке Dovecot версии 2 как части классической связки “Dovecot + Postfix + MySQL + PostfixAdmin”.
Напомним пройденные и будущие этапы:
- MySQL – нам надо сразу сделать хранилище настроек, т.к. и Postfix и Dovecot будут “завязаны” на базу данных.
- PostfixAdmin – аналогично, сразу создаем инструмент управления базой данных, проверяем, что пользователи добавляются и пр.
- Postfix – только на этом этапе ставим MTA (Mail Transfer Agent) Postfix.
- Dovecot – финал – хранение почты, авторизация и пр.
- Только после этого можно думать про антивирусы, веб-интерфейсы типа Roundcube Mail.
Установка Dovecot
Я уже давно для себя выбрал CentOS как основу для серверов. Поэтому все команды установки софта будут именно для этой операционной системы. Я крайне не советую ставить основные программы из исходников командами типа make, make install и т.д. Это приведет только к невозможности получения обновлений в удобной форме.
В процессе отладки я наступал на разные грабли, список которых выделил в отдельную страницу “размышления по ходу отладки”. Не поленитесь, посмотрите, вдруг что-то пригодится.
yum install dovecot yum install dovecot-mysql
chkconfig dovecot on
Вот и все, дальше надо настраивать конфиг.
Главный конфигурационный файл Dovecot
Основные настройки Dovecot хранит в файле конфигурации /etc/dovecot/dovecot.conf (или, реже /etc/dovecot.conf).
Сразу делаем копию конфигурационного файла:
cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak
Примечение: путь к файлу может быть /etc/dovecot.conf, проверьте сначала, где у вас в системе этот файл.
Рабочий конфигурационный файл Dovecot 2.0.9:
# Мы не используем специализированные файлы из поставки Dovecot из папки /etc/dovecot/conf.d/.
# Основная причина: отсутствие ясного руководства по их использованию. А также сравнительно небольшой
# размер всего конфига (все перед глазами, нет необходимости раскидывать по отдельным файлам).
#!include conf.d/*.conf # Нет необходимости явно указывать imaps и pop3s – Dovecot 2.* по-умолчанию их включает.
protocols = imap pop3
listen = * # Завершать все дочерние процессы, если завершен мастер-процесс
shutdown_clients = yes # Владелец почтовых папок (также см. конфиг Postfix):
mail_uid = vmail
mail_gid = vmail # Только наш пользователь с uid и gid 5000 (vmail) может быть использован.
first_valid_uid = 5000
last_valid_uid = 5000 # Лог-файлы. Подробнее: http://wiki2.dovecot.org/Logging
log_path = /var/log/dovecot.log
# Отладка. Если все настроено, отключаем (no)
# http://maint.unona.ru/doc/dovecot2.shtml
mail_debug = no auth_verbose = no
auth_debug = no
auth_debug_passwords = no # SSL
# http://wiki2.dovecot.org/SSL/DovecotConfiguration
ssl = required
ssl_cert =
network.service Не удалось запустить LSB: создать сеть вверх / вниз – Centos 7
Я испытываю проблему с Centos7 при попытке запустить сетевой сервис. Я получаю следующее сообщение об ошибке.
Failed to start LSB: Bring up/down networking
Проблема возникла, когда я понял, что не принимает мой статический IP-адрес из файла / etc / sysconfig / network-scripts / ifcfg-eth0 (см. Ниже).
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.16 NETMASK=255.255.255.0 HWADDR=B8:27:EB:C3:1E:EC NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet
При перезагрузке устройство загрузится с IP-адресом 192.168.0.7, что явно не соответствует статическому IP-адресу, и не уверен, как он получает информацию о DHCP-сервере (который у меня есть, мой маршрутизатор)
systemctl stop NetworkManager
и затем включить сеть
systemctl start network
снова возникла одна и та же ошибка, затем я убил процесс dhclient и попытался запустить сетевое обслуживание еще раз и снова получил ту же ошибку.
Теряя терпение, так как у меня было подключение к Интернету в то время на сервере через IP-адрес DHCP, он выполнил «yum remove Network Manager» и попробовал перезагрузку, но безрезультатно. Я не уверен, что это была хорошая идея или нет, но, похоже, это не работало.
Кажется, у меня есть исчерпывающие предложения, которые я могу найти в Интернете. Удивление, если кто-нибудь еще не знает, что может произойти.
Большое спасибо.
Изменить: Записи журнала:
Jan 01 00:00:06 systemd: Starting LSB: Bring up/down networking… Jan 01 00:00:06 systemd: network.service: control process exited, code=exited status=6 Jan 01 00:00:06 systemd: Failed to start LSB: Bring up/down networking Jan 01 00:00:06 systemd: Unit network.service entered failed state Jan 01 00:00:06 systemd: network.service failed
Как заставить NetworkManager добавить DNS-сервер вверху /etc/resolv.conf?
Проблемы NetworkManager в Arch Linux
Как Fedora называют беспроводные интерфейсы?
wifi – достигнуто максимальное количество ожидающих ответов на соединение
Причина запуска скрипта после начала работы сети?
Управление сетью CLI
wicd: PEAP с TKIP / MSCHAPV2 не работает
Какая должна быть правильная конфигурация dhcp для создания новой сети над eth0?
На всякий случай у кого-то еще есть проблема с Centos 7 на малине Pi в отношении этой ошибки LSB.
В конце концов я обнаружил, что скрипт /etc/rc.d/init.d/network который запущен, немедленно выдает ошибку со status=6 если определенного файла не существует, а именно /etc/sysconfig/network .Я не знаю, зачем нужен этот файл, так как в другой системе я работаю над файлом, но он пуст.
Но он не существовал из коробки с ОС Centos 7, которую я получил за свою малину. Пройдя все остальные шаги (удалите Network Manager, установите статический IP-адрес в файле ifcfg, запустите процесс dhc для Network Manager и т. Д.
), Если вы все равно получите эту ошибку, просто попробуйте:
touch /etc/sysconfig/network
Файл может быть пустым. Просто должен существовать.
Затем перезапустите службу сети:
systemctl restart network
Я получил ту же ошибку, которая пыталась запустить i2p в качестве службы. Однако я заметил, что части пакета поддержки стандартной базы Linux не были установлены в моей системе. После установки их больше не было проблем.
У меня недавно была такая же проблема, т. Е. Сбой сети.
Решение для меня помогло отключить NetworkManger:
systemctl stop NetworkManager systemctl disable NetworkManager
Перезагрузка и network.service были активны (запущены) .
Вы должны использовать
BOOTPROTO=none
вместо
BOOTPROTO=static
Первый – правильный синтаксис в RHEL / CentOS 7.
Удалите BOOTTOPRO=”” и IPADDR=”” . Я пришел к этой теме с той же проблемой. Первоначально я добавил строки BOOTTOPRO и IPPADDR для установки статических значений для enp0s3. После удаления этих двух строк я смог выполнить systemctl restart network.service
failed to start LSB :Bring Up down Networking
When facing this issue that derailed proper autossh functionality on my roaming laptop, I decided to rip apart whatever of my MageiaOS code to understand the root cause. I did not have NetworkManager, so knew for sure it was not the obstacle.
The found issue could be described as kind of eventual live-lock between SysV and systemd ways of managing network service. Potentially, many conditions could trigger it (NetworkManager is one of the examples), in my case it was misconfigured vboxnet ifaces from VMWare.
There’re two critical blockers in each part of SysV/systemd balance that might start triggering each other in the loop. On SysV side, init.d/network script eventually calls “ifup $device boot”, which in response of ‘boot’ parameter starts ifplugd daemon for pluggable ifaces.
The only proper way to shutdown this daemon from network script is issuing “ifdown $device boot” command, which is supposed to get executed upon stopping network service by ‘service’ or ‘systemctl’ commands.
The interesting part of this question: why ifplugd is already in memory before the network service starts? Well, in my case WiFi iface was fired before misconfigured vbox iface but the latter caused entire initscript to fail.
So, network was started on boot but service status was recorded as failing.
But what prevents us just stopping network service and consequently killing ifplugd from ifdown/boot command? The answer is: systemd in its ingenious ways of handling ExecStop directive in unit file (which is auto-generated on the fly for network service).
Conclusion. There’s no single recipe for this sort of trouble because the compatibility balance between network script and systemd approach is very fragile, so many unexpected factors can start interfering. To troubleshoot this scenario, several statuses might be useful:
- network service: systemctl status network
- ifplugd service: ps ax|grep ifplugd
- network link status: ifconfig / iwconfig
- autogenerated unit: cat /var/run/systemd/generator.late/network.service
- other places running ifup independently: grep -rs ifup /etc
and of course, “bash -x” and debugging “echo Bump” instruction.
Long-term solution is fixing ifplugd to honour ‘-I’ switch in this scenario. Mid-term solution is fixing /etc/sysconfig/network-scripts/ifup-eth for ignoring ifplugd return code. Short-term solution seems to be the most tricky, which is just removing all possible config factors triggering this live-lock. But this is the only one tolerating system autoupdates…
Как правильно настроить почтовый сервер postfix + dovecot на ubuntu?
Всем привет. Есть проблема с почтовым сервером.
У меня есть ВПС, на котором будет парочка сайтов со своими почтовыми ящиками. Например [email protected] и [email protected]
Настравиваю по этой инструкции
Я вот еще не совсем понял. Если я хочу использовать много доменов на сервере. Как же тогда в инструкции везде заполняешь один домен?
Вот конфиг dovecot.conf
!include_try /usr/share/dovecot/protocols.d/*.protocol
#Разрешаем авторизацию в plaintext
disable_plaintext_auth = no
# Журнал будем писать в файл /var/log/dovecot.err
log_path = /var/log/dovecot.err
# Формат даты и времени для регистрируемых событий
log_timestamp = “%Y-%m-%d %H:%M:%S ”
#Включаем SSL
ssl = yes
# Порядок следования сертификатов имеет большое значение: сначала *.key, за$
ssl_key =А вот такое было в логе dovecot.err
2016-01-12 07:49:34 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
2016-01-12 07:49:34 auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
2016-01-12 07:49:34 auth: Fatal: No passdbs specified in configuration file. DIGEST-MD5 mechanism needs one
2016-01-12 07:49:34 master: Error: service(auth): command startup failed, throttling for 8 secs
2016-01-12 07:49:42 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
2016-01-12 07:49:42 auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
2016-01-12 07:49:42 auth: Fatal: No passdbs specified in configuration file. DIGEST-MD5 mechanism needs one
2016-01-12 07:49:42 master: Error: service(auth): command startup failed, throttling for 16 secs
2016-01-12 07:50:20 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
2016-01-12 07:50:20 auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
2016-01-12 07:50:20 auth: Fatal: No passdbs specified in configuration file. DIGEST-MD5 mechanism needs one
2016-01-12 07:50:20 master: Error: service(auth): command startup failed, throttling for 32 secs
2016-01-12 07:50:20 imap-login: Info: Disconnected: Auth process broken (disconnected before auth was ready, waited 0 secs): user=, rip=ИП моего компа, lip=ИП Впс хостинга, TLS handshaking, session=
2016-01-12 07:50:34 imap-login: Info: Disconnected (disconnected before auth was ready, waited 0 secs): user=, rip=ИП моего компа, lip=ИП Впс хостинга, TLS: SSL_read() failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca: SSL alert number 48, session=
2016-01-12 07:50:52 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
2016-01-12 07:50:52 auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
2016-01-12 07:50:52 auth: Fatal: No passdbs specified in configuration file. DIGEST-MD5 mechanism needs one
2016-01-12 07:50:52 master: Error: service(auth): command startup failed, throttling for 60 secs
2016-01-12 08:04:09 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
2016-01-12 08:04:09 auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
2016-01-12 08:04:09 auth: Fatal: No passdbs specified in configuration file. DIGEST-MD5 mechanism needs one
2016-01-12 08:04:09 master: Error: service(auth): command startup failed, throttling for 60 secs
2016-01-12 08:13:21 log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
2016-01-12 08:13:21 master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
2016-01-12 08:51:34 master: Info: Dovecot v2.2.9 starting up (core dumps disabled)
НУ КТО ЧЕМ МОЖЕТ подскажите, пооочееему не работает?
Windraw dot Net
Открыл для себя недавно Fail2ban.
ну или по-русски
Порты SSH у меня закрыты изначально и доступны только для определенных айпишников из локалки, но вот для фильтрации трафика на Postfix и Dovecot — он мне очень подошел. Конфиги для Postfix есть в дистрибутиве по умолчанию и про них я писать не буду. Немного повозился с конфигами для Dovecot, и про них решил написать.
У меня Dovecot пишет свои логи в отдельный файл — /var/log/dovecot/dovecot-info.log (по умолчанию же все пишется в системный лог /var/log/maillog).
Первым делом пишем фильтр dovecot-pop3imap.conf в папке /etc/fail2ban/filter.d/
1 2 3 |
cat /etc/fail2ban/filter.d/ touch dovecot-pop3imap.conf vi dovecot-pop3imap.conf |
cat /etc/fail2ban/filter.d/ touch dovecot-pop3imap.conf vi dovecot-pop3imap.conf
1 2 3 |
failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login (auth failed|Aborted login (tried to use disabled|Disconnected (auth failed).*rip=(?PS*),.* ignoreregex = |
failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login (auth failed|Aborted login (tried to use disabled|Disconnected (auth failed).*rip=(?PS*),.* ignoreregex =
Теперь добавляем секцию в файл /etc/fail2ban/jail.conf:
1 2 3 4 5 6 7 8 9 |
enabled = true filter = dovecot-pop3imap action = iptables-multiport sendmail-whois logpath = /var/log/dovecot/dovecot-info.log findtime = 1200 maxretry = 20 bantime = 3600 |
То есть, если появится кто-то, кто в течение 20 минут 20 раз неправильно введет пароль — баним его IP на час. Нам почту приходит сообщение, что мол забанен такой-то и полная whois информация по хосту. Тут каждый волен выбрать для себя параметры за какое время, какое количество попыток проверять и на сколько банить.Перезапускаем fail2ban, проверяем что в iptables появилось правило:
1 2 3 |
Chain fail2ban-dovecot-pop3imap (1 references) num pkts bytes target prot opt in out source destination 1 184897 8571444 RETURN all — * * 0.0.0.0/0 0.0.0.0/0 |
Chain fail2ban-dovecot-pop3imap (1 references) num pkts bytes target prot opt in out source destination 1 184897 8571444 RETURN all — * * 0.0.0.0/0 0.0.0.0/0
Оценка сообщения:(Еще не оценили)Загрузка… |
CENTOS FAILED TO START LSB BRING UP DOWN NETWORKING
centos – failed to start LSB :Bring Up down Networking
Tour Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this siteContinue
centos – failed to start LSB :Bring Up down Networking
Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and …Continue
Ham Radio Software on Centos Linux – Linux, Networking and
Enabling everything HAM radio on Centos Linux! This document is my journey into Linux-assisted HAM radio with Centos. This covers many different topics along my personal discovery which started with AX.25 packet radio, then into HF digital modes, and most recently SDR and D*star technologies!Continue
Arrancar / Parar / Reiniciar servicios en RHEL 7 y CentOS
amigo como puedo activar los servicios cups-lpd y openvpn y hacer que arranquen con la maquina en centos 7 cambio todo te agradezco !!Continue
Configurar red en CentOS 7 | RHEL 7 – # rm-rf.es
En esta entrada vamos a aprender a configurar las interfaces de red en el sistema operativo GNU/Linux CentOS 7, lo mismo servirá para RHEL 7 ya que es exactamente igual.
¿Qué es lo que cambia respecto a la configuración de red de versiones anteriores de CentOS y Red Hat?Vamos a ir viéndolo.
Lo primero que os llamará la atención, aunque es algo que se sabía desde versiones anteriores esContinue
CentOS 7 настройка сервера – serveradmin.ru
Для настройки практически любого сервера требуется выполнить ряд стандартных шагов, которые мало чем отличаются в различных ситуациях.Continue
自宅サーバー構築メモ(CentOS) | CentOS 7.0
新しい年になったので、自宅サーバーも新たな気持で再稼働と思いリブートしたら起動できなくなった!! どうもkernelが 3.10.0-327.3.1 にバージョンアップしてたみたいで、Kernel panicが発生してるようだ。Continue
Linux: Init Process and PC Boot Procedure – YoLinux.com
BIOS: The Basic Input/Output System is the lowest level interface between the computer and peripherals. The BIOS performs integrity checks on memory and seeks instructions on the Master Boor Record (MBR) on the floppy drive or hard drive.Continue
Bash on Ubuntu on Windows – Download Now! – Windows
Apr 06, 2016 · At //Build 2016, Microsoft announced the ability to run native Bash and GNU/Linux command-line tools directly on the new Windows Subsystem for Linux (WSL), coming soon to Windows 10 Anniversary Update builds.. We’ve been amazed by the overwhelming outpouring of interest about this new feature over the last week.Continue
Как исправить
Данные ошибки появляются, когда программа apt-get (apt) не может получить доступ к файлу блокировки /var/lib/dpkg/lock*. Данный файл используется, чтобы запретить одновременное выполнение операций, связанных с управлением пакетами в системе, так как при одновременном изменении данных о пакетах будет нарушена целостность «пакетной базы».
Обычно существует две основные причины появления, описанных выше ошибок:
- В данный момент уже выполняется экземпляр программы apt-get (apt).
- Предыдущий вызов apt-get (apt) завершился некорректно.
Способ первый
Сначала нужно проверить, что уже не запущен другой экземпляр программы apt-get (apt). Выполним следующую команду, чтобы проверить есть ли apt в списке запущенных процессов:
Вывод команды может быть следующим:
В первой строке мы видим, что уже есть работающий экземпляр программы apt-get, который имеет PID (идентификатор) 9425. Вторая строка относится к нашей команде grep, которую мы запустили с аргументом apt, поэтому она вывела саму себя. Итак, нас интересует только первая строка.
Если вы уверены, что не запускали программу apt-get сами, или она не запущена в фоновом режиме, например, выполняется автоматическое обновление системы, то нужно принудительно завершить ее выполнение. Для этого воспользуемся командой kill −9. Команде нужно указать числовой идентификатор процесса. В нашем случае это 9425. Выполняем команду:
После выполнения данной команды, процесс с идентификатором 9425 завершится.
Можно воспользоваться еще одним простым способом — это завершить все экземпляры программ apt и apt-get сразу. Для этого можно выполнить команду:
Способ второй
Если первый способ вам не помог, то рассмотрим еще один способ решения проблемы. Обычно он используется, когда нет работающих экземпляров программ apt или apt-get, а значит предыдущее их выполнение завершилось аварийно, и файлы блокировки остались закрытыми.
Нам нужно удалить все файлы блокировки. Для этого выполняем команды:
Если при выполнении каких-нибудь из этих команд появится сообщение: rm: невозможно удалить ’/var/../lock’: Нет такого файла или каталога, это нормально, не обращайте на него внимания.
После этого нужно выполнить переконфигурацию (донастройку) пакетов:
Fedora 23 Failed to start network.service – Ask Fedora: Community Knowledge Base and Support Forum
Hi, I have Fedora 23 server installed on my server and disabled NetworkManager:
systemctl stop NetworkManager.service systemctl disable NetworkManager.serviceNow, I tried to start network.service but failed with the following message.# systemctl status network ● network.service – LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network) Active: failed (Result: exit-code) Docs: man:systemd-sysv-generator(8) Process: 1962 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE) CGroup: /system.slice/network.service └─2731 /sbin/dhclient -H localhost -1 -q -lf /var/lib/dhclient/dhclient-3cc8dfc3-a3e8-483… localhost.localdomain dhclient: No DHCPOFFERS received. localhost.localdomain network: Determining IP information for enp130s0f0… …d. localhost.localdomain network: localhost.localdomain network: Bringing up interface enp130s0f1: localhost.localdomain network: Determining IP information for enp130s0f1… …e? localhost.localdomain network: localhost.localdomain systemd: network.service: Control process exited, code=e…s=1 localhost.localdomain systemd: Failed to start LSB: Bring up/down networking. localhost.localdomain systemd: network.service: Unit entered failed state. localhost.localdomain systemd: network.service: Failed with result ‘exit-code’. Hint: Some lines were ellipsized, use -l to show in full.
Here is the result of ‘journalctl -xe’Jun 28 15:02:22 localhost.localdomain network: RTNETLINK answers: File exists Jun 28 15:02:22 localhost.localdomain network: RTNETLINK answers: File exists Jun 28 15:02:22 localhost.localdomain network: RTNETLINK answers: File exists Jun 28 15:02:22 localhost.localdomain network: RTNETLINK answers: File exists Jun 28 15:02:22 localhost.localdomain network: RTNETLINK answers: File exists Jun 28 15:02:22 localhost.localdomain network: RTNETLINK answers: File exists Jun 28 15:02:22 localhost.localdomain systemd: network.service: Control process exited, code=exited Jun 28 15:02:22 localhost.localdomain systemd: Failed to start LSB: Bring up/down networking. — Subject: Unit network.service has failed — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit network.service has failed. — — The result is failed. Jun 28 15:02:22 localhost.localdomain systemd: network.service: Unit entered failed state. Jun 28 15:02:22 localhost.localdomain systemd: network.service: Failed with result ‘exit-code’. Jun 28 15:02:22 localhost.localdomain audit: SERVICE_START pid=1 uid=0 auid=4294967295 ses=429496729 Jun 28 15:02:22 localhost.localdomain polkitd: Unregistered Authentication Agent for unix-process Jun 28 15:03:27 localhost.localdomain systemd: Starting Cleanup of Temporary Directories… — Subject: Unit systemd-tmpfiles-clean.service has begun start-up — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit systemd-tmpfiles-clean.service has begun starting up. Jun 28 15:03:27 localhost.localdomain systemd: Started Cleanup of Temporary Directories. — Subject: Unit systemd-tmpfiles-clean.service has finished start-up — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit systemd-tmpfiles-clean.service has finished starting up. — — The start-up result is done. Jun 28 15:03:27 localhost.localdomain audit: SERVICE_START pid=1 uid=0 auid=4294967295 ses=429496729 Jun 28 15 …Sort by » oldest newest most voted
I am facing same issue. Need to use network service to create bridge interface for xen project
NetworkManagerr does not support bridge connection and network service cannot be started.
edit link more
edit link more
Please start posting anonymously – your entry will be published after you log in or create a new account.
Ошибка при совместной работе Outlook и Dovecot
IMAP сервер, с которого происходит экспорт — Dovecot, с настроенной сортировкой sieve. При коннекте и попытке импорта в логе dovecot.log появляется ошибка:
IMAP([email protected]): Error: stat(/usr/mail/domain.com/[email protected]/.dovecot.sieve/tmp) failed: Not a directory
В файле dovecot.conf указан именно этот путь:
plugin { sieve=/usr/mail/%d/%u/.dovecot.sieve }
Судя по всему, дело в реализации забора почты Outlook’ом и сделать с этим ни чего нельзя. Он интерпретирует данный файл как один из каталогов с почтой и пытается забрать из него сообщения.
Ошибка наблюдается как при импорте почты в облако, так и при обычной работе клиента Outlook.
tree /usr/mail/domain.com/[email protected]/ |– .Drafts | |– cur | | |– 1394074522.M592755P45733 | | |– … | |– dovecot-uidlist | |– dovecot.index | |– dovecot.index.cache | |– dovecot.index.log | |– maildirfolder | |– new | |– tmp |– .INBOX.Custom Directory 1 | |– cur | | |– 1394074522.M592755P45733 | | |– … | |– dovecot-keywords | |– dovecot-uidlist | |– dovecot.index.cache | |– dovecot.index.log | |– maildirfolder | |– new | |– tmp |– .INBOX.Custom Directory 2 | |– cur | | |– 1394074510.M271298P45733 | | |– … | |– dovecot-keywords | |– dovecot-uidlist | |– dovecot.index.cache | |– dovecot.index.log | |– maildirfolder | |– new | |– tmp |– .Sent | |– cur | | |– 1401957899.M143293P50237 | | |– … | |– dovecot-keywords | |– dovecot-uidlist | |– dovecot.index | |– dovecot.index.cache | |– dovecot.index.log | |– maildirfolder | |– new | |– tmp |– .Trash | |– cur | | |– 1393309932.M87457P82790 | |– dovecot-uidlist | |– dovecot.index.cache | |– dovecot.index.log | |– maildirfolder | |– new | |– tmp |– cur | |– 1391595621.M706764P48743 | |– … |– sieve | |– managesieve.sieve | |– tmp |– new | |– 1404725432.M962838P14502 |– tmp |– .dovecot.sieve -> sieve/managesieve.sieve |– .dovecot.sieve.log |– .dovecot.svbin |– dovecot-keywords |– dovecot-uidlist |– dovecot-uidvalidity |– dovecot-uidvalidity.52f20f7a |– dovecot.index |– dovecot.index.cache |– dovecot.index.log |– subscriptions
С другой — остальные клиенты нормально работают и видят всю почту без ошибок, не пытаясь прочитать .dovecot.sieve как каталог, по крайней мере при использовании ThunderBird или веб-интерфейса подобного не наблюдается.
Решить можно двумя способами. Первый — изменить положение файла .dovecot.sieve, но придется у каждого ящика с настроенными фильтрами переносить этот файл руками (или скриптом).
На боевом сервере я не рискнул так делать, боясь сломать всю пользователькую сортировку. Второй и более простой — скрыть каталог sieve, а следовательно и файл .dovecot.sieve из списка подписки.
Для этого в dovecot.conf внести строку:
maildir_stat_dirs=yes
После рестарта сервиса импорт успешно начался и ошибка исчезла.