Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
mail-import_via_milter [2023/07/05 10:37] – [Details der Anbindung] lwsystems | mail-import_via_milter [2024/02/05 07:37] (aktuell) – [Alternative Anbindung in der "master.cf"] lwsystems | ||
---|---|---|---|
Zeile 14: | Zeile 14: | ||
- | Auf Debian und auf Debian basierenden Systemen erfolgt die Grund-Installation direkt aus dem Paket // | + | Auf Debian und auf Debian basierenden Systemen erfolgt die Grund-Installation direkt aus dem Paket // |
Auf anderen Systemen sollte die manuelle Installation vorgenommen werden. | Auf anderen Systemen sollte die manuelle Installation vorgenommen werden. | ||
Zeile 21: | Zeile 21: | ||
Falls mehrere Systeme als Importquellen angebunden werden, sollten die Anmerkungen der [[Multi-Import|Multi-Import Konfiguration]] beachtet werden. | Falls mehrere Systeme als Importquellen angebunden werden, sollten die Anmerkungen der [[Multi-Import|Multi-Import Konfiguration]] beachtet werden. | ||
+ | |||
====== Installation aus Debian Package ====== | ====== Installation aus Debian Package ====== | ||
Zeile 52: | Zeile 53: | ||
</ | </ | ||
- | Falls der MILTER Daemon vom MTA getrennt installiert werden soll, kann der Benno MILTER Daemon per [[#milter_per_tcp-socket|über TCP angebunden]] werden. | + | Falls der MILTER Daemon vom MTA getrennt installiert werden soll, kann der Benno MILTER Daemon per [[#tcp-socket|über TCP angebunden]] werden. |
Danach den Postfix-Daemon neu starten. | Danach den Postfix-Daemon neu starten. | ||
**Achtung**: | **Achtung**: | ||
Dieses ist zum Beispiel beim Einsatz von Amavis der Fall. | Dieses ist zum Beispiel beim Einsatz von Amavis der Fall. | ||
- | ==== Details der Anbindung | + | |
+ | ===== 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 und der Deamon muss nicht mit der Gruppe //postfix// gestartet werden. Hierfür wird vom Pre-Install Script des Pakets die Override-Datei ''/ | ||
+ | |||
+ | Diese Konfiguration kann auch nachträglich in '' | ||
+ | |||
+ | In der Postfix-Konfiguration werden die Pfade zum Socket durch die Angabe von Hostname/ | ||
+ | |||
+ | smtpd_milters = inet: | ||
+ | non_smtpd_milters = inet: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Details der Anbindung | ||
*smtpd_milters - Pfad zum Socket des MILTER-Daemons für per SMTP eingehende E-Mails. Der Pfad wird relativ zur chroot(2) Umgebung der Postfix-Installation angegeben. | *smtpd_milters - Pfad zum Socket des MILTER-Daemons für per SMTP eingehende E-Mails. Der Pfad wird relativ zur chroot(2) Umgebung der Postfix-Installation angegeben. | ||
Zeile 65: | Zeile 80: | ||
- | ====== Spezielle Konfigurationen / Andere MTAs ====== | ||
- | Das benno-milter Paket ist so konfiguriert, | + | ====== Spezielle Konfigurationen |
- | Falls dieses Verzeichnis nicht angelegt werden konnte, weil kein Postfix installiert war, kann der MILTER Daemon nicht starten. | + | |
- | Nach Installation von Postfix | + | Bei der Installation |
- | '' | + | |
- | Die Anbindung an einen anderen MTA sollte per [[# | ||
===== Anbindung bei getrenntem Benno MailArchiv Host ===== | ===== Anbindung bei getrenntem Benno MailArchiv Host ===== | ||
Zeile 79: | Zeile 90: | ||
Die einfachste Möglichkeit ist, den MILTER-Daemon auf dem Archivierungs-Host zu installieren. | Die einfachste Möglichkeit ist, den MILTER-Daemon auf dem Archivierungs-Host zu installieren. | ||
- | Der MILTER wird so konfiguriert, | + | Der MILTER wird so konfiguriert, |
Diese Konfiguration hat den Nachteil, daß der eigentiche Mailtransport von einem weiteren Host abhängig ist. | Diese Konfiguration hat den Nachteil, daß der eigentiche Mailtransport von einem weiteren Host abhängig ist. | ||
Zeile 175: | Zeile 186: | ||
</ | </ | ||
- | Falls der // | + | Falls der **// |
Bei Angabe des Pfades zum Socket ist die //chroot// Konfiguration des Dienstes wichtig. Falls //chroot// auf //n// gesetzt wird oder der Defaultwert in der Kommentarzeile mit //n// angegeben ist, muss der Pfad als kompletter Pfad zum Socket angegeben werden. Im Beispiel oben ist der Pfad relativ zum chroot-Verzeichnis konfiguriert. | Bei Angabe des Pfades zum Socket ist die //chroot// Konfiguration des Dienstes wichtig. Falls //chroot// auf //n// gesetzt wird oder der Defaultwert in der Kommentarzeile mit //n// angegeben ist, muss der Pfad als kompletter Pfad zum Socket angegeben werden. Im Beispiel oben ist der Pfad relativ zum chroot-Verzeichnis konfiguriert. | ||
- | ====== 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 ''/ | ||
- | |||
- | SOCKET_TYPE=inet | ||
- | SOCKET=22500@0.0.0.0 | ||
- | |||
- | gesetzt. In der Postfix-Konfiguration werden die Pfade zum Socket durch die Angabe von Hostname/ | ||
- | |||
- | smtpd_milters = inet: | ||
- | non_smtpd_milters = inet: | ||
- | |||
- | | ||
====== Manuelle Installation ====== | ====== Manuelle Installation ====== | ||
Zeile 211: | Zeile 210: | ||
- '' | - '' | ||
- ''/ | - ''/ | ||
+ | |||
===== Anbindung an Postfix | ===== Anbindung an Postfix | ||
Zeile 235: | Zeile 235: | ||
+ | ====== Debugging ====== | ||
+ | |||
+ | Das Logging des Services erfolgt mittels syslog mit der Facility LOG_MAIL. | ||
+ | |||
+ | ===== Testaufruf ===== | ||
+ | |||
+ | Zu Testzwecken kann der Daemon auch auf der Konsole mit dem folgenden Kommandoaufruf gestartet werden. | ||
+ | |||
+ | <code bash> | ||
+ | sudo -u benno -g postfix / | ||
+ | -p local:/ | ||
+ | -o / | ||
+ | -l / | ||
+ | </ | ||
+ | |||
+ | Der Paramter '' | ||
+ | |||
+ | ===== Systemd ===== | ||
+ | |||
+ | Der Benno MILTER Daemon wird von //systemd// gestartet. Die Konfiguration des Services wird im Servicefile ''/ | ||
+ | |||
+ | Der Daemon wird letztendlich mit dem folgenden Aufruf gestartet: | ||
+ | |||
+ | <code bash> | ||
+ | / | ||
+ | -l ${RUNTIME_DIRECTORY}/ | ||
+ | -p ${SOCKET_TYPE}: | ||
+ | -o ${SPOOLDIR} ${MILTERARGS} | ||
+ | </ | ||
+ | |||
+ | Die hier aufgeführten Umgebungsvariablen werden im Servicefile vorkonfiguriert: | ||
+ | |||
+ | # systemctl show benno-milter --property=Environment | ||
+ | |||
+ | <code bash> | ||
+ | SOCKET_TYPE=local | ||
+ | SOCKET=/ | ||
+ | SPOOLDIR=/ | ||
+ | PIDFILE=/ | ||
+ | </ | ||
+ | |||
+ | Diese Variablen werden ggfs. durch die Einstellungen der Konfigurationsdatei ''/ | ||
+ | |||
+ | ==== Benutzer und Gruppe ==== | ||
+ | |||
+ | Falls der MILTER per UNIX DOMAIN Socket an Postfix angebunden ist, wird der Service mit dem User " | ||
+ | |||
+ | # systemctl show benno-milter --property=User | ||
+ | # systemctl show benno-milter --property=Group | ||
+ | |||
+ | Vom Standard abweichende Einstellungen sind in der Konfigurationsdatei ''/ | ||
+ | |||
+ | ==== Systemd Start ==== | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | eval $(systemctl show benno-milter --property=User --property=Group \ | ||
+ | --property=Environment --property=RuntimeDirectory|\ | ||
+ | perl -pe ' | ||
+ | . / | ||
+ | sudo -u $User -g $Group \ | ||
+ | / | ||
+ | -l / | ||
+ | -p ${SOCKET_TYPE}: | ||
+ | -o ${SPOOLDIR} ${MILTERARGS} | ||
+ | </ |