Exim — ошибка в конфиге

К сожалению, в мою конфигурацию Экзима закралась ошибка, которая хоть и появлялась редко, была довольно досадной. В частности, при определенных условиях, ACL, который проверяет почту на спам, не видел переменную, в которой хранился адрес адресата и не отрабатывал. В основную статью изменения уже добавлены, решил выложить дополнительный пост для тех, кто ее не будет перечитывать. Итак, надо поправить 2 файла: 500.acl-check-data.conf и configure.

500.acl-check-data.conf: после «.ifdef USE_SPAMD» добавляем строку:

warn set acl_m5 = $acl_c_lp

configure: после строки «acl_check_rcpt:» вставляем:

warn set acl_c_lp       = [email protected]$domain

Перед обоими вставками лучше вставить пустую строку.

Вам также может понравиться

Об авторе jared

8 комментариев

  1. Делал настройку по вашему мануалу, все равно лезет эта ошибка.

    Warning: ACL «warn» statement skipped: condition test deferred: MYSQL: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘and users.domain_id = domains.domain_id’ at line 1

    Где копать ?

  2. ну действительно ошибка есть
    Warning: ACL «warn» statement skipped: condition test deferred: MYSQL: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘and users.domain_id = domains.domain_id’ at line 1
    так никто и не решил? жалко столько времени потрачено на детальный разбор и в итоге облом

  3. Спасибо. Хорошая работа.
    Только у меня тоже не помогло убрать ошибку с логов эти изменения.
    Подскажите, пожалуйста, есть для этого другое решение?

  4. Извиняюсь за некропост. Но вдруг кому поможет.

    Для исправления ошибки
    Warning: ACL «warn» statement skipped: condition test deferred: MYSQL: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘and users.domain_id = domains.domain_id’ at line 1

    Ошибка встречается только при отправке исходящих сообщений

    Нужно закомментировать строку присвоение переменной в файле 500.acl-check-data.conf

    #warn set acl_m3 = $acl_c_spam

    Получается что переменная acl_m3 которая больше нигде не встречается обнуляла переменную $acl_c_spam и выдавалась ошибка синтаксиса mysql

    Автору большой респект за статью.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *