Инструменты пользователя

Инструменты веб-сайта


импорт почты через milter

Это старая версия документа!


Импорт почты через MILTER

Для подключения Benno MailArchiv к почтовым системам, работающим под управлением Unix, мы рекомендуем использовать MILTER .

Преимущество этого метода перед подключением Benno MailArchiv через ( always_ )bcc или аналогичный механизм заключается в том, что фактическая информация в заголовке письма не теряется. В письмах, отправленных через BCC, отсутствует соответствующий заголовок. Эта информация передается в виде так называемого конверта от почтового сервера к почтовому серверу.

Демон MILTER " benno-milter " сохраняет каждое входящее письмо в папку "Входящие" архива Benno MailArchiv. При записи файла MILTER сохраняет информацию о заголовке письма ( MAIL FROM , RCPT TO ) в дополнительных заголовках.

  • X-REAL-MAILFROM
  • X-REAL-RCPTTO

Эти заголовки по умолчанию настроены в архиваторе как «<senderheaders /> " или "<recipientheaders /> Они также указаны как «<secretheaders /> «Помечены таким образом, чтобы они не отображались при просмотре электронного письма».

В системах Debian и системах на основе Debian базовая установка выполняется непосредственно из benno-milter в репозитории. После этого требуется только подключение конфигурации Postfix .

В других системах следует выполнять установку вручную.

Примечание: Пакет Milter и представленная здесь информация являются лишь демонстрационным примером и предоставляются «как есть», без каких-либо гарантий полноты.

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

Установка из пакета Debian

При наличии предварительно установленного Postfix

После репозитория Benno MailArchiv пакет benno-milter устанавливается через apt. По умолчанию benno-milter настроен для работы в рамках ранее установленного MTA Postfix. Поэтому установку и настройку MTA следует завершить до установки пакета.

После этого пакет будет установлен.

apt-get install benno-milter

После установки пакета демон MILTER подключается к Postfix.

Сокет домена Unix

Настройка соединения MILTER осуществляется в /etc/postfix/main.cf . В него добавляются следующие параметры конфигурации. Примечание: Если Amavis установлен в качестве фильтра пост-очереди, настройку MILTER следует выполнять, как описано «Отключение MILTER для Amavis»

... ### Benno MailArchive Milter smtpd_milters = unix:/benno-milter/benno-milter.sock non_smtpd_milters = local:/benno-milter/benno-milter.sock milter_default_action = tempfail ### /Benno MailArchive Milter

Если демон MILTER устанавливается отдельно от MTA, то с демоном Benno MILTER можно соединение по протоколу TCP .

Затем перезапустите демон Postfix. Внимание : если система настроена таким образом, что электронное письмо проходит через фильтр, а затем повторно отправляется через второй процесс SMTP, необходимо отключить . Это, например, происходит при использовании Amavis.

Подробности подключения

  • `smtpd_milters` — Путь к сокету демона MILTER для входящих писем через SMTP. Путь указывается относительно среды chroot(2) установки Postfix.
  • non_smtpd_milters - Путь к сокету демона MILTER для электронных писем, отправляемых в систему через sendmail(1).
  • milter_default_action — Поведение системы в случае недоступности компонента MILTER.
  • lmtpd_milters — Подключает сервер MILTERS к демону для доставки электронных писем в локальные почтовые ящики. Здесь не требуется.

Специальные конфигурации / Другие MTA

Das benno-milter Paket ist so konfiguriert, das der MILTER Daemon über den Socket /var/spool/postfix/benno-milter/benno-milter.sock vom Postfix angesprochen wird. Das Verzeichnis /var/spool/postfix/benno-milter wird bei der Installation automatisch angelegt. Falls dieses Verzeichnis nicht angelegt werden konnte, weil kein Postfix installiert war, kann der MILTER Daemon nicht starten.

Nach Installation von Postfix kann die automatische Konfiguration mit Hilfe des Kommandos apt install –reinstall benno-milter durchgeführt werden.

Die Anbindung an einen anderen MTA sollte per TCP-Socket durchgeführt werden.

Интеграция с отдельным хостом Benno MailArchive

В случае логического разделения между MTA и системой архивирования электронные письма должны быть перенесены в систему архивирования и сохранены там без изменений.

Простейший вариант — установить демон MILTER на хост архивации. MILTER настроен на привязку TCP-сокета , что позволяет осуществлять связь между MTA и MILTER по сети.

Недостатком такой конфигурации является то, что фактическая передача почты зависит от другого хоста.

benno smtp

Другой вариант — настроить демон MILTER на MTA и передавать электронные письма в систему архивирования через SMTP. В этом случае benno-smtp . Этот пакет содержит демон SMTP, который сохраняет электронные письма, отправленные через порт 2500, в каталоге импорта Benno без изменений.

На хосте MTA имя хоста ( BENNOHOST= ) системы архивирования настроить /etc/default/benno-milter

# # Параметры запуска benno-milter # SOCKET=/var/spool/postfix/benno-milter/benno-milter.sock SPOOLDIR=/srv/benno/inbox #BENNOHOST=your.benno-archive.host

benno milter2smtp

Затем передача активируется с помощью задания cron в файле /etc/cron.d/benno-milter путем раскомментирования команды.

# # Импорт писем из maildump milter # #*/15 * * * * benno /usr/sbin/benno-export2archive

В конечном итоге эта задача cron вызывает программу benno-milter2smtp , которая используется для передачи файлов электронной почты по протоколу SMTP.

Заголовки X-REAL-* из файлов maildump удаляются во время отправки и передаются в качестве информации в конверте. Поэтому при настройке benno-smtp крайне важно убедиться, что параметр `envelope_header = true` `/etc/benno smtp.conf`.

Почтовый сервер Univention

В среде Univention приложение MailArchiv подключено к центральному почтовому серверу. Для настройки переменные UCR задаются следующим образом.

ucr set mail/postfix/mastercf/options/smtp/smtpd_milters=inet:benno-hostname:22500 ucr set mail/postfix/mastercf/options/smtp/milter_default_action=tempfail ucr set mail/postfix/mastercf/options/submission/smtpd_milters=inet:benno-hostname:22500 ucr set mail/postfix/mastercf/options/submission/milter_default_action=tempfail ucr set mail/postfix/mastercf/options/smtps/smtpd_milters=inet:benno-hostname:22500 ucr set mail/postfix/mastercf/options/smtps/milter_default_action=tempfail

В качестве имени хоста может использоваться полное доменное имя системы Benno MailArchiv или IP-адрес.

Для активации конфигурации требуется перезапуск Postfix: systemctl restart postfix

Обмен данными между MTA и Benno MailArchiv через MILTER осуществляется без шифрования. Если почтовый сервер и приложение Benno MailArchiv находятся на одной машине, обмен данными также может осуществляться через имя хоста localhost .

Отключить MILTER для Amavis

Многие спам- и вирусные фильтры требуют наличия SMTP-демона для обратной передачи проанализированных писем в систему. Настройка соединения MILTER в конфигурационном файле main.cf влияет на все службы Postfix SMTP в глобальном масштабе. Это означает, что письмо, прошедшее через обе службы SMTP, будет импортировано в архив дважды. Каждая служба SMTP добавляет свои собственные заголовки, поэтому контрольная сумма письма изменяется, что предотвращает его идентификацию как дубликата.

Внимание : При использовании Amavis для фильтрации спама необходимо отключить параметр MILTER для smtpd на порту 10025, если Amavis настроен как фильтр после очереди. В случае конфигурации до очереди параметры `-o smtpd_milters=` и `-o non_smtpd_milters=` можно опустить.

127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_milters= -o non_smtpd_milters=

Функция MILTER деактивируется двумя строками «-o *_milters=".

Альтернативный способ подключения указан в файле "master.cf"

В качестве альтернативы настройке в файле "main.cf", MILTER также можно настроить в определении службы SMTP в файле "master.cf". Этот тип настройки не так прост, как main.cf, но он имеет преимущество в предотвращении случайного включения MILTER для нескольких служб SMTP.

# =========================================================================== # тип службы private unpriv chroot wakeup maxproc command + args # (да) (да) (да) (никогда) (100) # =============================================================================== smtp inet n - - - - smtpd -o smtpd_milters=unix:/benno-milter/benno-milter.sock -o non_smtpd_milters=local:/benno-milter/benno-milter.sock -o milter_default_action=tempfail

Если отправки также привязан, конфигурацию MILTER необходимо добавить и сюда.

При указании пути к сокету важна конфигурация chroot chroot установлено значение n n , путь должен быть указан как полный путь к сокету. В приведенном выше примере путь задается относительно каталога chroot.

MILTER per TCP-Socket

Falls der MILTER Daemon auf einem vom SMTP-Service getrennten Host installiert werden soll, muss der MILTER Daemon an einen TCP-Socket gebunden werden. In der Konfigurationsdatei /etc/default/benno-milter wird die Parameter

SOCKET_TYPE=inet SOCKET=22500@0.0.0.0

gesetzt. In der Postfix-Konfiguration werden die Pfade zum Socket durch die Angabe von Hostname/IP-Adresse und Port ersetzt:

smtpd_milters = inet:benno.lw-systems.net:22500 non_smtpd_milters = inet:benno.lw-systems.net:22500

Ручная установка

Предварительно скомпилированная программа, включая скрипты инициализации и описание, может быть установлена ​​из архива tar maildump-milter.tar.gz.

Подготовка

Перед настройкой демона MILTER убедитесь, что существует каталог очереди печати /srv/benno/inbox . Этот каталог должен был быть создан в системе во время установки Benno MailArchiv. Если демон MILTER установлен в другой системе, каталог необходимо создать позже, а также создать пользователя "benno". Этому пользователю должны быть предоставлены права на запись в /srv/benno/inbox .

В системе Debian установлен пакет benno-milter . Он автоматически выполняет шаги по запуску демона MILTER.

  1. useradd –system –gid postfix –shell /bin/false –home /srv/benno/inbox benno
  2. adduser benno postfix
  3. mkdir /srv/benno/inbox
  4. chown benno.postfix /srv/benno/postfix
  5. mkdir /var/spool/postfix/maildump-milter
  6. chown benno.postfix /var/spool/postfix/maildump-milter
  7. cp init.d/maildump-milter /etc/init.d/maildump-milter
  8. update-rc.d maildump-milter start 05 2 3 4 5 . stop 01 0 1 6 .
  9. cp default/maildump-milter /etc/default/maildump-milter
  10. cp sbin/maildump-milter /usr/local/sbin/maildump-milter
  11. /etc/init.d/maildump-milter start

Подключение к Postfix

В файл main.cf добавлены следующие строки.

### Benno MailArchive Milter smtpd_milters = unix:/maildump-milter/socket non_smtpd_milters = local:/maildump-milter/socket #milter_default_action = Accept milter_default_action = tempfail ## if lmtp milter существует : # lmtpd_milters = unix:/maildump-milter/socket ### /Бенно MailArchive Милтер

Установка скриптов

  • cp sbin/maildump2smtp /usr/local/sbin/maildump2smtp
  • cp sbin/benno-maildumpimport /usr/local/sbin/benno-maildumpimport
  • cp cron.d/benno-import /etc/cron.d/benno-import/
mail-import_via_milter.1688553435.txt.gz · Zuletzt geändert: 2023/07/05 10:37 von lwsystems