Как настроить переадресацию почты в IredMail, используя Dovecot Sieve?

Я создал файл <br/> <pre><code>/var/vmail/vmail1/mydomain/a/d/m/myusername/.dovecot.sieve</code></pre> в папке пользователя, содержимое которого выглядит следующим образом: <br/> <pre><code>require ["fileinto", "copy"];

if true {
    redirect "[email protected]";
    stop;
}</code></pre> <br/> Однако почта приходит только основному пользователю, и копия не отправляется. В логах я обнаружил ошибки, указывающие на то, что sieve проверял папку ~/root, к которой у него нет доступа. После изменения строки на <br/> <code>sieve = /var/vmail/sieve/dovecot.sieve</code> и множества других попыток, я столкнулся с ошибкой: <br/> <pre><code>doveadm plugin status
Fatal: Couldn't load required plugin /usr/lib/dovecot/modules/lib90_sieve_plugin.so: dlopen() failed: /usr/lib/dovecot/modules/lib90_sieve_plugin.so: undefined symbol: mail_deliver_ctx_get_log_var_expand_table</code></pre> <br/> Поисковик предложил установить pigeonhole, но на официальном сайте Dovecot в разделе релизов я не нашел этого пакета, равно как и в репозиториях Ubuntu. <br/> Что вы можете посоветовать в данной ситуации?
  • 3 января 2025 г. 13:13
Ответы на вопрос 2
Настройка переадресации почты с помощью Dovecot Sieve в IredMail может быть немного запутанной, особенно учитывая, что вам нужно правильно настроить все компоненты. Вот шаги, которые могут помочь решить вашу проблему:

### 1. Убедитесь, что необходимые модули и пакеты установлены

Сначала убедитесь, что у вас установлен пакет `dovecot-pigeonhole`, который включает Sieve и необходимые модули. Вы можете установить его с помощью следующих команд:

```bash
sudo apt-get update
sudo apt-get install dovecot-sieve dovecot-managesieved
```

### 2. Проверьте настройки Dovecot

Убедитесь, что в конфигурационном файле Dovecot включены необходимые параметры для работы с Sieve. Откройте файл конфигурации Dovecot (например, `/etc/dovecot/conf.d/20-managesieve.conf`) и проверьте, чтобы он содержал следующее:

```plaintext
service managesieve {
  inet_listener sieve {
    port = 4190
  }
}
```

Также проверьте  `/etc/dovecot/conf.d/20-sieve.conf` и убедитесь, что он настроен правильно:

```plaintext
plugin {
  sieve = file:~/sieve;  # Или путь к папке, где будут храниться ваши .sieve файлы
  sieve_global_path = /var/vmail/sieve/global.sieve;  # Глобальные правила, если они есть
}
```

### 3. Проверьте права доступа

Убедитесь, что права доступа к файлам Sieve и их родительским директориям установлены правильно. Вся структура должна быть доступна для пользователя, от имени которого работает Dovecot. Например, используйте следующие команды:

```bash
chown -R vmail:vmail /var/vmail/vmail1/mydomain/a/d/m/myusername
chmod -R 700 /var/vmail/vmail1/mydomain/a/d/m/myusername
```

### 4. Перепроверьте содержимое Sieve скрипта

Убедитесь, что ваш Sieve-скрипт корректен. Пример скрипта, который вы привели, выглядит нормально, но вы можете попробовать немного изменить его:

```plaintext
require ["fileinto", "imap4flags", "copy", "variables"];

if true {
    redirect "[email protected]";
    stop;
}
```

### 5. Перезапустите службы

После внесения изменений в конфигурацию или установку пакетов перезапустите службы Dovecot:

```bash
sudo systemctl restart dovecot
```

### 6. Проверка логов

После этого проведите тест, отправив письмо на адрес, на который настроена переадресация, и проверьте логи Dovecot:

```bash
journalctl -u dovecot -f
```

или

```bash
tail -f /var/log/mail.log
```

Это позволит вам увидеть, были ли ошибки при выполнении Sieve-скрипта.

### 7. Использование управления Sieve

Если у вас есть доступ к веб-интерфейсу IredMail, убедитесь, что скрипт настроен через управление Sieve в веб-интерфейсе (если эта возможность доступна). Это поможет избежать ошибок с путями и правами доступа.

Если после выполнения всех шагов проблема не решится, стоит узнать версию Dovecot и Pigeonhole и убедиться, что они совместимы. Возможно, вам также поможет просмотр документации Dovecot и Pigeonhole для поиска информации о совместимости версий и известных проблемах.
Должно входить в стандартную поставку dovecot. Не знаю, как там в бубунтах, но в генте это так, по крайней мере: 
# equery f dovecot | grep lib90
/usr/lib64/dovecot/lib90_old_stats_plugin.so
/usr/lib64/dovecot/lib90_sieve_plugin.so
/usr/lib64/dovecot/sieve/lib90_sieve_extprograms_plugin.so
/usr/lib64/dovecot/sieve/lib90_sieve_imapsieve_plugin.so
Похожие вопросы