554 5.6.0 message contains invalid header

Столкнулся с проблемой после обновления Postfix до версии 3.5.7 и Cyrus IMAP 3.4.2: часть пересылаемых писем перестала отправляться адресатам с ошибкой 554 5.6.0 message contains invalid header. Заголовок "References" при этом содержал символы перевода строки посреди идентификаторов писем. Копание интернета вывело на то, то по RFC длина строки не должна превышать 1000 символов. Похоже, раньше Cyrus IMAP был менее придирчив к структуре заголовков, поскольку ничего более не менялось.

Полуготовое решение проблемы нашлось в базе знаний IceWrap: https://esupport.icewarp.com/index.php?/Knowledgebase/Article/View/590/106/fix-oversize-references-header-lines-that-cause-error-554

Готовое решение для Postfix заключается в использовании директивы header_checks и добавлении регулярного выражения

/^References: (.{1,100})>\s?<.*>\s?<(.{200,})$/ REPLACE References: $1> <$2

Microsoft Business Contact Manager 2010 x64 на Windows 10

Появилась задача попытаться поставить Business Contact Manager 2010 на Windows 10. Если в двух словах, то официально это невозможно, так как Windows 10 не поддерживает работу с MS SQL Server 2008. Соответственно, установка прекращается с ошибкой: нет возможности поставить MSSMLBIZ.

Решение искалось долго, трудно и было найдено.

Инсталлятор BCM был запущен в режиме совместимости с Vista SP2. Пока он пыхтел, пытаясь поставить SQL Express, из временной папки были скопированы файлы дистрибутива. Были скачаны SQL Express 2012 x64 и SQL Express 2008 x64. В поставке идёт Express 2008 x86, так что 64-бит дистрибутивы понадобились для красоты картины.

SQL Express 2012 x64 был поставлен с этими параметрами: SQLEXPR.exe /q /HIDECONSOLE /ACTION=Install /Features=SQLEngine,FullText /INSTANCENAME=MSSMLBIZ /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /SKIPRULES=PerfMonCounterNotCorruptedCheck

Затем нужно поставить файлы клиента SQL Express 2008 x64. Я ставил в интерактивном режиме, так что тут без приведения текста команды.

Далее, из папки дистрибутива BCM были поставлены MS Chart:

msiexec /i mschart\datavisualization_setupcore.msi ALLUSERS=1

Русификация:

msiexec /i mschartlangpack.ru-ru\datavisualization_languagepackcore.msi ALLUSERS=1

Сам BCM:

msiexec /i MSSMLBIZ.msi BOOTSTRAPPED=1 ALLUSERS=1

И его русификация:

msiexec /i langpack.ru-ru\MSSMLBIZLPK.msi BOOTSTRAPPED=1 ALLUSERS=1 ARPSYSTEMCOMPONENT=1

Получившийся Франкенштейн запустился и показал диалог настройки.

К сожалению, нормально подключиться к удалённой базе BCM не смог, мастер подключения заканчивался руганью. Однако, несмотря на ругань и вылезающие диалоговые окна о том, что BCM не может завершить последнюю операцию, все контакты, которые были в разделе "Бизнес контакты и партнёры", отобразились. Работает добавление и редактирование. К несчастью, не заработала группировка контактов. Также не работает организация кэширования, экспорт данных.

Резюме: Business Contact Manager 2010 x64 работает на Windows 10, но в ограниченном режиме. Насколько он ограничен, сказать не могу, так как не все функции Business Contact Manager использовались у заказчика.