ifelse(SECTION, `ACL_SMTP_DATA_BEFORE_ACCEPT', `dnl # получение информации о необходимости сохранения письма в дереве IMAP-овых папок отправителя warn set acl_m_backup_folders = set acl_m_backup_folder_sender = ${lookup{$sender_address}lsearch{CONFDIR/users-maildirs}} set acl_m_backup_folder_recipient = # если адрес отправителя не найден в списке пользователей, ищем его в списке алиасов warn condition = ${if eq{$acl_m_backup_folder_sender}{}{yes}{no}} condition = ${if match_domain{$sender_address_domain}{+local_domains}{yes}{no}} set acl_m0 = ${lookup{$sender_address}\ lsearch{CONFDIR/virt_aliases}{$value}{\ ${lookup{$sender_address_local_part}\ lsearch{CONFDIR/virt_aliases}{$value}{}}\ }} condition = ${if eq{$acl_m0}{}{no}{yes}} set acl_m0 = ${extract{1}{,}{$acl_m0}} set acl_m0 = ${extract{1}{ }{$acl_m0}} set acl_m_backup_folder_sender = ${lookup{$acl_m0}lsearch{CONFDIR/users-maildirs}} warn condition = ${if eq{$acl_m_backup_folder_sender}{}{no}{yes}} acl = acl_backup_imap "$recipients" ') dnl ifelse(SECTION, `ACL_SMTP_DATA_BEFORE_ACCEPT', `') ifelse(SECTION, `ACLS_ADDITIONAL', `dnl acl_backup_imap: # acl_arg1 - список адресов получателей # acl_m_backup_folders - результат accept condition = ${if eq{$acl_arg1}{}{yes}{no}} warn set acl_m_item = ${sg{$acl_arg1}{\N^([^,\s]+)(,\s*\S+)*$\N}{\$1}} set acl_m_items = ${sg{$acl_arg1}{\N^\S+ *\N}{}} warn set acl_m_backup_folder_recipient = ${lookup{$acl_m_item}lsearch{CONFDIR/users-maildirs}} condition = ${if eq{$acl_m_backup_folder_recipient}{}{yes}{no}} condition = ${if match_domain{$domain}{+local_domains}{yes}{no}} set acl_m0 = ${lookup{$acl_m_item}\ lsearch{CONFDIR/virt_aliases}{$value}{\ ${lookup{${extract{1}{@}{$acl_m_item}}}\ lsearch{CONFDIR/virt_aliases}{$value}{}}\ }} condition = ${if eq{$acl_m0}{}{no}{yes}} set acl_m0 = ${extract{1}{,}{$acl_m0}} set acl_m0 = ${extract{1}{ }{$acl_m0}} set acl_m_backup_folder_recipient = ${lookup{$acl_m0}lsearch{CONFDIR/users-maildirs}} warn condition = ${if eq{$acl_m_backup_folder_sender}{}{no}{yes}} condition = ${if eq{$acl_m_backup_folder_recipient}{}{no}{yes}} set acl_m_backup_folders = $acl_m_backup_folders /var/vmail/${extract{home}{$acl_m_backup_folder_sender}}/.${extract{folder}{$acl_m_backup_folder_recipient}}/ /var/vmail/${extract{home}{$acl_m_backup_folder_recipient}}/.${extract{folder}{$acl_m_backup_folder_sender}}/ warn acl = acl_backup_imap "$acl_m_items" accept ') dnl ifelse(SECTION, `ACLS_ADDITIONAL', `')