В базовом функционале roundcube уже есть плагин sieve. И тут остаётся дело за малым: прикрутить это всё к dovecot+exim (via dovecot delivery). И так, ниже настройки dovecot.conf:
Архив рубрики: Почтовые системы
[dovecot] Cached message size larger than expected
Если кратко, то данная ошибка говорит, что размер письма отличается от ожидаемого. Такое поведение возникает, если содержимое файла письма изменилось (случайно или преднамеренно). При этом разные клиенты могут по-разному отображать это письмо: частично или вообще никак (показывать ошибку). В сети почти все варианты решения выглядят так: удалите из папки Maildir файлы dovecot.* и перезапустите dovecot (dovecot перепланирует папку и создаст заново эти файлы). Такой рецепт подойдёт, если у вас старая версия, до 2.0.X включительно. Но если у вас версия 2.1.Х, то это не поможет.
[exim] DKIM/SPF: white list
Определяем переменные:
domainlist spf_white_list = domain1.com : domain2.com
domainlist dkim_white_list = other1.com : other2.com
Описываем сам white list для SPF (ОБЯЗАТЕЛЬНО ПЕРЕД ПРОВЕРКОЙ SPF):
acl_check_data:
...
# SPF whitelist
accept sender_domains = +spf_white_list
logwrite = SPF: domain <$sender_address_domain> is whitelisted
Описываем сам white list для DKIM (ОБЯЗАТЕЛЬНО ПЕРЕД ПРОВЕРКОЙ DKIM):
acl_check_dkim:
...
accept sender_domains = +dkim_white_list
logwrite = DKIM: domain <$sender_address_domain> is whitelisted
Рассылка писем через sendmail в Solaris
Появилась задача быстро поднять почтовый сервер с минимальными телодвижениями. Поскольку уже стоял Sendmail, то решили использовать его.
1. Указываем нужный домен для отправки:
В файле /etc/mail/sendmail.cf вносим домен для отправки:
# change sender domain
Djdomain.com
Dwdomain
Dkdomain.com
[exim] multi SSL domain
Возникла задача реализовать схему, что бы в заголовках отображались домены, от имени которых идёт отправка. Причём, если будет подключение через SSL/TLS. И так, меняем такие параметры:
primary_hostname = $sender_address_domain. # что бы hostname соответствовал нужному домему
tls_certificate = ${if exists{/etc/ssl/${tls_sni}.crt}{/etc/ssl/${tls_sni}.crt}{/etc/ssl/default_domain.crt}}
tls_privatekey = ${if exists{/etc/ssl/${tls_sni}.key}{/etc/ssl/${tls_sni}.key}{/etc/ssl/default_domain.key}}
[exim] demime deprecated in 4.88
Начиная с версии 4.88 acl demime признан устаревшим и больше недоступен:
JH/02 The obsolete acl condition «demime» is removed (finally, after ten
years of being deprecated). The replacements are the ACLs
acl_smtp_mime and acl_not_smtp_mime
Ниже совет с сайта forum.lissyara.su как правильно сделать замену acl’y
[postfix] Проверка на спам определённых получателей
Появилась задача: делать проверку на спам только для определённых ящиков.
Общая идея такова: после попадания письма в postfix, оно сверяется с фильтром в файле /etc/postfix/transport_spam, если попадает — передаётся на обработку фильтра spamassassin, который описан в master.cf. Он же в свою очередь состоит из проверки на спам и после проверки отдаёт письмо не в postfix, а в procmail, который на основе темы отдаёт её dovecot devivery, который складывает либо в INBOX, либо в JUNK папку соответственно.
Вы можете использовать dovecot-sieve и тогда вам не нужен procmail.
Переходим с courier-imap на dovecot
Установку и настройку dovecot нет смысла описывать, а вот подготовить почту под dovecot — тема нашей статьи.
По дефолту, все папки в courier, кроме INBOX — являются подпапками для INBOX. А в dovecot — все папки находятся на одном уровне. Это значит, что содержимое этого файла для courier выглядит так:
[exim] SPF/DKIM
Для работы потребуется, что бы Exim был собран с поддержкой SPF/DKIM. Для Debian это означает установку пакета exim4-daemon-heavy.
SPF
Добавляем в DNS такие записи (предпочтительнее):
mydomain.ru. IN TXT "v=spf1 a mx ~all"
а если позволяет DNS, то такую:
mydomain.ru. IN SPF "v=spf1 a mx ~all"
[exim] Реврайт заголовка From
Появилась задача, сделать rewrite заголовка, в зависимости от того, с какого хоста идёт отправка. Иными словами:
— если IP отправителя находится в списке (в данном случае это localhost), то подменять поле From на нужные значения из файла
— во всех остальных случаях заголовки не подменять
Создаём переменную local_sender_host и вписываем в неё все нужные IP. В данном случае это только localhost (@[] — это замена слова ‘localhost‘, так как в роутерах нельзя использовать слово ‘localhost‘)