приветствую
вчера обнаружил я, что переменная ${received_for} почему-то недоступна в
функциях из моих динамически загружаемых библиотек. это полбеды, она
недоступна и в src/spool_mbox.c. а это значит, что поле X-Envelope-To
никогда не вставляется в письма, которые сохраняются в
/var/spool/exim/scan как для проверки антивирусами (что неважно), так и
для проверки с помощью SpamAssassin (что важно, если в правилах
проверяется соответствие envelope To и header To)
для временного решения проблемы я заменил
temp_string = expand_string(
US"From ${if def:return_path{$return_path}{MAILER-DAEMON}}
${tod_bsdinbox}\n"
"${if def:sender_address{X-Envelope-From: <${sender_address}>\n}}"
"${if def:received_for{X-Envelope-To: <${received_for}>\n}}");
на
temp_string = expand_string(
US"From ${if def:return_path{$return_path}{MAILER-DAEMON}}
${tod_bsdinbox}\n"
"${if def:sender_address{X-Envelope-From: <${sender_address}>\n}}"
"${if def:received_for{X-Envelope-To: <${received_for}>\n}"
"{${if def:recipients{${if match{${recipients}}{\N.*[,
]\N}{}{X-Envelope-To: <${recipients}>\n}}}}}}");
конечно, это больше похоже на терморектальные методы, но пока проблему
недоступности ${received_for} в src/spool_mbox.c
патч лежит тут:
http://mta.org.ua/exim-4.63-conf/patches/exim-4.65-spool_mbox/patch-src::spool_mbox.patch
он уже добавлен в spec для RedHat/Fedora:
http://mta.org.ua/exim-4.63-conf/redhat/exim-4.65-0.corvax/
также симлинк на патч создан в каталоге с патчами для порта FreeBSD:
http://mta.org.ua/exim-4.63-conf/ports/exim-4.65/patches/
надо бы еще автоматизировать копирование патчей из этого каталога в
/usr/ports/mail/exim/files в зависимости от выбранных опций сборки порта
надо бы еще грамотно сформулировать проблему Хазелю, чтобы поправил он
экспандинг ${received_for}
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694 CRV2-RIPE, CRV-UANIC