Ранее мы рассказывали о том, как пользователи и администраторы Carbonio могут создавать почтовые правила на уровне конкретных учетных записей. Но нередко возникает задача по настройке глобальных почтовых фильтров. Например таких, которые добавляют предупреждение о том, что полученное письмо отправлено с внешнего почтового адреса или наоборот, прямо запретить пользователям отправлять электронные письма на внешние адреса. Для этих целей в Carbonio используется встроенное решение Sieve, которое предоставляет администратору широчайшие возможности по настройке почтовых правил.

Данная инструкция подойдет как для пользователей коммерческой версии Carbonio, так и для пользователей бесплатной Carbonio Community Edition.

Для административного фильтрования писем в Carbonio используется Sieve. Это мощный инструмент, который позволяет администратору не только сортировать письма, но и редактировать их содержимое. Например, добавлять в заголовки различные предупреждения. По умолчанию функция добавления заголовков в письма при помощи Sieve в Carbonio выключена. Включить ее можно, например, для Класса обслуживания:

carbonio prov modifyCos default zimbraSieveEditHeaderEnabled TRUE

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

К примеру, почтовое правило, которое будет помечать соответствующими заголовками в исходном коде письма, а также словами в теме входящие письма из внешних почтовых доменов. 

require ["editheader", "variables"];
if allof(
  not address :domain :is ["from"] ["example.ru", "company.ru", "company.local"]
  not header :contains "Subject" ["[External Email]"]
)
{
  addheader "X-External-Domain" "This Message originated outside of mind.";
  if header :matches "Subject" "*" {
     set "subject" "${1}";
  }
  deleteheader "Subject";
  addheader :last "Subject" "[External Email] ${subject}";
}

Также с помощью почтовых фильтров можно для пользователей домена ввести ограничения на отправку писем, разрешив отправлять их только на конкретные почтовые домены и конкретные почтовые адреса.

require ["discard"];
if allof(
  address :domain :is ["from"] ["carbonio.local"],
  not address :domain :is ["to"] ["carbonio.local"],
  not address :is ["cc", "to"] ["info@company.local"]
)
{
discard;
  stop;
}

В данном случае отправитель из домена carbonio.local, который попытается отправить электронное письмо на домен, отличный от домена carbonio.local, либо адреса info@company.local, не сможет этого сделать, так как его сообщение будет сразу же удалено. 

В Carbonio имеется поддержка автоматического перенаправления писем. Для того, чтобы получатель таких писем мог различать перенаправленные автоматически от перенаправленных вручную, можно использовать Sieve. 

Для этого нужно включить в Carbonio добавление заголовка X-Authenticated-User в письма. Делается это при помощи следующих команд

carbonio prov modifyConfig zimbraSmtpSendAddAuthenticatedUser TRUE

carbonio prov modifyConfig zimbraMtaSmtpdSaslAuthenticatedHeader yes

zmcontrol restart

Также в Sieve добавляется правило, которое на основании отсутствия в перенаправленном письме соответствующего заголовка перемещает его в папку для автоматически перенаправленной почты. Главное для администратора - позаботиться о наличии соответствующей папки у пользователей, для которых будет применяться соответствующее правило.

require ["fileinto"];

if allof(
  address :is :domain ["from", "sender"] ["example.ru","company.ru","company.local"],
  not exists ["X-Authenticated-User"]
)
{
  fileinto "auto-forwarded";
  stop;
}

Для использования почтовых правил, необходимо сохранить созданный скрипт для Sieve в файл и применить его на уровне пользователя, класса обслуживания, сервера или домена. При добавлении административного правила требуется указывать, когда именно создаваемое правило будет отрабатывать - перед или после применения пользовательских правил. 

Для примера сохраним скрипт, добавляющий в письма заголовки, в файл /tmp/header_sieve.

Тогда его применение на разных уровнях, с условием, что он будет отрабатывать до применения пользовательских фильтров, будет осуществляться командами

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyAccount user@example.ru zimbraAdminSieveScriptBefore

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyCos default zimbraAdminSieveScriptBefore

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyDomain example.ru zimbraAdminSieveScriptBefore

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyServer mail.example.ru zimbraAdminSieveScriptBefore

Для того, чтобы фильтры Sieve применялись после применения пользовательских почтовых правил, используйте параметр zimbraAdminSieveScriptAfter

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyAccount user@example.ru zimbraAdminSieveScriptAfter

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyCos default zimbraAdminSieveScriptAfter

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyDomain example.ru zimbraAdminSieveScriptAfter

  • cat /tmp/header_sieve |xargs -0 carbonio prov modifyServer mail.example.ru zimbraAdminSieveScriptAfter

Для того, чтобы удалить добавленные правила, используйте пустую строку. Примеры:

  • carbonio prov modifyAccount user@example.ru zimbraAdminSieveScriptBefore ""

  • carbonio prov modifyAccount user@example.ru zimbraAdminSieveScriptAfter ""

Таким образом использование Sieve в Carbonio позволяет администраторам максимально автоматизировать процесс фильтрации почты, повысить степень информационной защищенности своего предприятия и сделать работу его сотрудников более эффективной.

Комментарии (0)