Архив рубрики: Почтовые системы

dovecot: autoreply via sieve

В базовом функционале 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‘)

Читать далее