"неподдерживаемый тип словаря: pcre" postfix header_checks
У меня есть следующие header_checks на месте в Postfix
/^Received:/ IGNORE
/^X-Originating-IP:/ IGNORE
/^X-Mailer:/ IGNORE
/Message-Id:\s+<(.*?)@www.mainserver.com>/ REPLACE Message-Id: <[email protected]>
/X-Mailer-LID:/ IGNORE
/^MIME-Version:/i PREPEND Precedence: bulk
/X-Mailer-RecptId:/ IGNORE
/X-Mailer-SID:/ IGNORE
/X-Mailer-Sent-By:/ IGNORE
/List-Unsubscribe:/ IGNORE
Как только я активирую их в postfix/main.cf
(после запуска postmap /etc/postfix/header_checks
) постфикс перестает работать. Когда я пытаюсь отправить электронное письмо, я получаю следующий журнал ошибок
Jun 20 03:19:26 mail postfix/pickup[6813]: F37593F946: uid=0 from=<[email protected]>
Jun 20 03:19:26 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks is unavailable. unsupported dictionary type: pcre
Jun 20 03:19:26 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks lookup error for "Received: by mail.domain.com (Postfix, from userid 0)??id F37593F946; Thu, 20 Jun 2019 03:19:26 +0200"
Jun 20 03:19:26 mail postfix/cleanup[6819]: warning: F37593F946: header_checks map lookup problem -- message not accepted, try again later
Jun 20 03:19:26 mail postfix/pickup[6813]: warning: maildrop/F27653F945: error writing F37593F946: queue file write error
Jun 20 03:19:27 mail postfix/pickup[6813]: F42373F946: uid=0 from=<[email protected]>
Jun 20 03:19:27 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks is unavailable. unsupported dictionary type: pcre
Jun 20 03:19:27 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks lookup error for "Received: by mail.domain.com (Postfix, from userid 0)??id F42373F946; Thu, 20 Jun 2019 03:12:51 +0200"
Jun 20 03:19:27 mail postfix/cleanup[6819]: warning: F42373F946: header_checks map lookup problem -- message not accepted, try again later
Jun 20 03:19:27 mail postfix/pickup[6813]: warning: maildrop/2C3F23F172: error writing F42373F946: queue file write error
Jun 20 03:19:27 mail postfix/pickup[6813]: 00EE13F946: uid=0 from=<[email protected]>
Jun 20 03:19:27 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks is unavailable. unsupported dictionary type: pcre
Jun 20 03:19:27 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks lookup error for "Received: by mail.domain.com (Postfix, from userid 0)??id 00EE13F946; Thu, 20 Jun 2019 03:13:36 +0200"
Jun 20 03:19:27 mail postfix/cleanup[6819]: warning: 00EE13F946: header_checks map lookup problem -- message not accepted, try again later
Jun 20 03:19:27 mail postfix/pickup[6813]: warning: maildrop/924363F173: error writing 00EE13F946: queue file write error
Чем это вызвано? Я считаю, что это работает на моей старой установке CentOS 6, но у меня проблемы с моей установкой Ubuntu 18.04.
1 ответ
Поддержкаpcre распространяется в отдельном пакете в Ubuntu. Вы можете установить postfix без установки postfix-pcre.
Вы можете подтвердить, что это ваша проблема, перечислив все доступные типы справочных таблиц, обычно у вас установлен regexp, но отсутствует pcre:
$ postconf -m | grep re
betree
regexp
Вы можете установить тип таблицы поиска pcre, используя:
sudo apt install postfix-pcre
Перезапустите postfix и просмотрите ваши журналы на предмет возможных ошибок с вашими (теперь впервые загруженными) картами:
sudo systemctl restart postfix
sudo journalctl -u [email protected]
Обратите внимание, что с помощью postmap
обновление файлов типа pcre не имеет никакого полезного эффекта - утилита postmap примет тип базы данных по умолчанию (обычно хэш) и выдаст .db
вывод для этого - который не используется для pcre.