[gelöst] maildrop vs. procmail

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
TomL

[gelöst] maildrop vs. procmail

Beitrag von TomL » 26.06.2017 18:37:21

Moin

Vor einigen Wochen habe ich hier zuhause innerhalb meines LANs meinen eigenen Mailserver in Betrieb genommen. Und je mehr Zeit verstreicht, umso mehr zeigt sich, dass das ein echter Erfolg war. Installiert hatte ich damals
- Dovecot
- Postfix
- Getmail
- Procmail

... und es läuft wirklich absolut reibungslos. Nun habe ich vor einiger Zeit gelesen, dass Procmail anscheinend ein so ausgereiftes Programm ist, dass es seit gut 15 Jahren keiner Weiterentwicklung bedarf. Zumindest war meine Schlußfolgerung so, dass es ausgereift sein muss... sonst könnte es wohl keine 15 Jahre ohne Hand anzulegen überleben. Jedenfalls gefiel mir das mit den 15 Jahren nicht so wirklich. Also habe ich mir auf der Testmaschine maildrop installiert, weil das noch wirklich aktiv gepflegt wird.... einfach mal sehen, was geht. Vom Tenor her solls funktional identisch sein, nur mit (vielleicht) modernerer Regelsyntax. Na ja, mir war die Syntax egal, ich kam mit beiden klar. Das Problem ist nur, maildrop funktioniert nicht. ... procmail rauscht sowas von problemlos durch und macht seinen Job, maildrop zickt jedoch rum.

Das war die erste Fehlermeldung:

Code: Alles auswählen

su getmail
/usr/bin/getmail -v --getmaildir /home/getmail/.getmail/thomas --rcfile /home/getmail/.getmail/thomas/mbox.conf

    getmail version 4.46.0
    Copyright (C) 1998-2012 Charles Cazabon.  Licensed under the GNU GPL version 2.
    SimplePOP3SSLRetriever:thomas@pop3.xxx.de:995:
    Delivery error (command maildrop 2225 error (75, ERR: authdaemon: s_connect() failed: No such file or directory
    /usr/bin/maildrop: Cannot set my user or group id.))
      msg 1/1 (935 bytes), delivery error (command maildrop 2225 error (75, ERR: authdaemon: s_connect() failed: No such file or directory
    /usr/bin/maildrop: Cannot set my user or group id.))
      1 messages (935 bytes) retrieved, 0 skipped
Die Ursache war, dass /usr/bin/maildrop mit der UID "getmail" gelaufen ist. Ich habe dann /usr/bin/maildrop auf setuid "root" gesetzt und das Ergebnis kontrolliert... wenn "getmail" /usr/bin/maildrop startet, läuft es jetzt definitiv unter "root"... also sollte es auch ein "su" auf den User durchführen können.

Aber dann kam der zweite Fehler:

Code: Alles auswählen

su getmail
/usr/bin/getmail -v --getmaildir /home/getmail/.getmail/thomas --rcfile /home/getmail/.getmail/thomas/mbox.conf

    getmail version 4.46.0
    Copyright (C) 1998-2012 Charles Cazabon.  Licensed under the GNU GPL version 2.
    SimplePOP3SSLRetriever:thomas@pop3.xxx.de:995:
    Delivery error (command maildrop 5124 error (75, ERR: authdaemon: s_connect() failed: No such file or directory
    /usr/bin/maildrop: You are not a trusted user.))
      msg 1/1 (2475 bytes), delivery error (command maildrop 5124 error (75, ERR: authdaemon: s_connect() failed: No such file or directory
    /usr/bin/maildrop: You are not a trusted user.))
      1 messages (2475 bytes) retrieved, 0 skipped
Hat vielleicht jemand auch maildrop in Betrieb und kann mit der letzten Meldung was anfangen... ?... zumal procmail keine Probleme mit dem "trusted user" hat......

Das ist installiert:

Code: Alles auswählen

dpkg -l maildrop
+++-====================-=========================-==========================
ii  maildrop         2.7.1-3          armhf     mail delivery agent with filtering abilities
Zuletzt geändert von TomL am 02.07.2017 10:37:15, insgesamt 1-mal geändert.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: maildrop vs. procmail

Beitrag von catdog2 » 27.06.2017 00:30:38

Nachdem du eh schon Dovecot nutzt würde ich dir dessen delivery agent [1] empfehlen (bzw. soll wohl heutzutage LMTP [2] zur Anbindung besser sein). Der unterstützt Sieve [3] welches eine recht nette, mächtige und standardisierte Filtersprache ist.

[1] https://wiki.dovecot.org/LDA
[2] https://wiki.dovecot.org/LMTP
[3] https://wiki.dovecot.org/Pigeonhole/Sieve
Unix is user-friendly; it's just picky about who its friends are.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: maildrop vs. procmail

Beitrag von rendegast » 27.06.2017 10:55:25

Hier wird die Zeile in der master.cf geändert:
https://www.howtoforge.com/community/th ... ser.40164/
als zweites ein "Reset" von main.cf und master.cf, naja.

Im Standard

Code: Alles auswählen

maildrop   unix  -       n       n       -       -       pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
arbeitet Dein System mit einem User vmail?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

TomL

Re: maildrop vs. procmail

Beitrag von TomL » 27.06.2017 11:03:03

catdog2 hat geschrieben:Nachdem du eh schon Dovecot nutzt würde ich dir dessen delivery agent [1] empfehlen (bzw. soll wohl heutzutage LMTP [2] zur Anbindung besser sein). Der unterstützt Sieve [3] welches eine recht nette, mächtige und standardisierte Filtersprache ist.
Mit dem Vorschlag sprichst Du leider eine für mich momentan unüberwindbare Hürde an..... ich würde genau das gerne machen, wenn ich es denn umsetzen könnte. Ich habe jetzt nach Deinem Posting noch mal erneut gut 2 Stunden im Web gesucht, um irgendwas zu finden, was ich nachvollziehen kann ist und woran ich mich durchhangeln kann. Aber da gibts wohl nix.....

Dabei habe ich ein eher einfaches Ziel: Getmail holt ab und (derzeit) Procmail verteilt die Mails an die Postfächer der User. Für Dovecot müsste ich also zusätzlich installieren:
- dovecot-ldap
- dovecot-managesieved
- dovecot-sieve

Getmail bekäme anstatt dem bisherigen 'procmail' diesen externen MDA mitgeteilt:

Code: Alles auswählen

[destination]
type = MDA_external
path = /usr/lib/dovecot/dovecot-lda
arguments = ("-e",)
Tja... und da ist es zu Ende... wie ich nun die Mails "untouched" und ohne Spam-Filter (also analog zu Procmail) einfach auf die Postfächer verteilen kann....keine Ahnung .. dazu finde ich nix im Netz. Mit nur einer Man-Page und schlichter Beschreibung von Parametern und ohne Zusammenhänge zu erkennen komme ich einfach nicht klar.

Hat jemand vielleicht ein Beispiel oder sowas schon mal gelöst?

TomL

Re: maildrop vs. procmail

Beitrag von TomL » 27.06.2017 11:38:49

rendegast hat geschrieben:

Code: Alles auswählen

maildrop   unix  -       n       n       -       -       pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
arbeitet Dein System mit einem User vmail?
Nee, bislang hatte ich den User 'vmail' nicht eingerichtet. Ich habe den Sinn auch nicht verstanden. Getmail, maildrop und procmail werden als "root" gestartet und switchen beim Transport auf die die UID des Mail-Empfängers. Wo ist denn da Bedarf an "vmail"? Aber zum Probieren habe ich den User eingerichtet: allerdings ohne Erfolg. Ich habe mich versuchsweise selber eingetragen und NUR EINE Mail für mich abgeholt: auch ohne Erfolg. Die Fehlermeldung bleibt immer die gleiche.

Aber ich würde auch gerne ganz auf maildrop/procmail verzichten, wie catdog vorgeschlagen hat, wenn ich die pure Funktion mit Dovecot-lda und Sieve nachbauen kann. Hast Du eine Idee, wie man's macht?

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: maildrop vs. procmail

Beitrag von scientific » 27.06.2017 14:22:33

Die Lösung mit exim sowohl als smtp als auch MDA bzw. dovecot als MDA ging ja nicht...
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

TomL

Re: maildrop vs. procmail

Beitrag von TomL » 27.06.2017 14:59:35

scientific hat geschrieben:Die Lösung mit exim sowohl als smtp als auch MDA bzw. dovecot als MDA ging ja nicht...
  • "exim" schließe ich weiterhin aus.
  • Procmail als MDA funktioniert von Anfang an gut... ist halt nur uralt
  • Maildrop zickt nur rum und ich habe mich entschlossen, keine weiteren Gedanken daran zu verschwenden. Wenn es schon bei so elementaren und anspruchslosen Aufgaben Probleme macht, isses nix für mich.
Warum funktioniert Dovecot als MDA bei Dir nicht? Weil ich Maildrop abgeschrieben habe, wollte ich mich eigentlich demnächst mal an Dovecot als MDA ranwagen. Mir war nur noch nicht klar, ob der installierte LMTP nicht schon reicht, der ja jetzt schon fehlerfrei den rein lokalen Transport von Postfix übernimmt, oder ob ich auch noch den dovecot-lda installieren muss. Das sieve-plugin kann ja auch auf dem LMTP eingerichtet werden. Sind wirklich beide Services dafür notwendig, wenn doch jetzt schon LMTP rein lokal transportiert und korrekt zustellt?

Und nun stellst Du fest, dass dovecot als MDA nicht geht.... *hmmm*...... :roll:

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: maildrop vs. procmail

Beitrag von weshalb » 28.06.2017 02:35:57

Brauchst du nun die Config von Dovecot Sieve? Ich setze beispielsweise beides ein, da procmail ein bestimmtes Script ausführt. Danach wird mit Sieve weitergefiltert.

TomL

Re: maildrop vs. procmail

Beitrag von TomL » 28.06.2017 19:54:31

weshalb hat geschrieben:Brauchst du nun die Config von Dovecot Sieve?
Eine Config, die den Transport der von Getmail abgeholten Mails via Sieve in die Dovecot-Postfächer übernimmt.....?... so,wie das jetzt Procmail bei mir macht...?.. und mit der ich Procmail ersetzen könnte....?.. ja, das wäre richtig klasse.

:hail:

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: maildrop vs. procmail

Beitrag von weshalb » 28.06.2017 23:16:54

Code: Alles auswählen

apt-get install  dovecot-managesieved dovecot-sieve
Hier habe ich sämtliche Dovecot betreffene Parameter drin, wenn du Dovecot über die einzelnen Configdateien konfigurierst, dann muss das natürlich in die entsprechenden dafür vorgesehnde rein:

Code: Alles auswählen

nano /etc/dovecot/local.conf
Dieser Abschnitt ist entscheidend:

Code: Alles auswählen


## ManageSieve specific settings

service managesieve-login {
  inet_listener sieve {
    port = 4190
  }

  inet_listener sieve_deprecated {
    port = 2000
  }
  service_count = 1
  process_min_avail = 0
  vsz_limit = 64M
}

##Sieve-settings

protocol sieve {

  managesieve_max_line_length = 65536
  mail_max_userip_connections = 10
  managesieve_logout_format = bytes=%i/%o
  managesieve_implementation_string = Dovecot Pigeonhole
  managesieve_max_compile_errors = 5
  log_path=/var/log/sieve.log
  info_log_path=/var/log/sieve.log
}

plugin {

  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  }
Die Sieve-Dateien bearbeite ich über Roundcube, ansonsten ist die Syntax für beispielsweise filtern in Ordner in etwa so:

home/user/sieve/roundcube.sieve
require ["fileinto"];
# rule:[Root und Cron]
if anyof (header :contains "subject" "Cron", header :contains "from" "root")
{
fileinto "INBOX";
}
# rule:[Spam]
if header :contains "subject" "Spam"
{
fileinto "Junk-E-Mail";
}
# rule:[Amazon]
if header :contains "subject" "Amazon"
{
fileinto "Amazon";
}

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: maildrop vs. procmail

Beitrag von scientific » 28.06.2017 23:55:25

Thunderbird hat ein Sieve-Addon. Damit klappt das hervorragend. Roundcube und das TB-Addon stehen mit dem Configfile aber in Konkurrenz!
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: maildrop vs. procmail

Beitrag von weshalb » 29.06.2017 01:05:02

scientific hat geschrieben:Thunderbird hat ein Sieve-Addon. Damit klappt das hervorragend. Roundcube und das TB-Addon stehen mit dem Configfile aber in Konkurrenz!
Sieveconfigurationen stehen untereinander mit jeder von einer anderen Application erstellten Sieve-Config in Konkurrenz, soviel ich mitbekommen hatte.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: maildrop vs. procmail

Beitrag von scientific » 29.06.2017 01:13:10

weshalb hat geschrieben:
scientific hat geschrieben:Thunderbird hat ein Sieve-Addon. Damit klappt das hervorragend. Roundcube und das TB-Addon stehen mit dem Configfile aber in Konkurrenz!
Sieveconfigurationen stehen untereinander mit jeder von einer anderen Application erstellten Sieve-Config in Konkurrenz, soviel ich mitbekommen hatte.
Ich bin drüber gestolpert, als ich mal in Roundcube reingeschaut habe, wie das Sieve-Plugin so aussieht. Danach wurde meinem Emails nicht mehr gefiltert und sortiert... Habe ewig gebraucht, bis ich dann in Thunderbird gesehen habe, dass mein Ruleset nicht mehr aktiviert ist... habs einfach wieder aktiviert und schon wurden die Mails wieder gefiltert.

Das Thunderbird-Addon hat eine Syntaxprüfung und auch eine online-Hilfe zur Syntax. Die fand ich schon einige Male sehr hilfreicht, da ich ein eher sehr komplexes Ruleset aufgebaut habe, da ich ja von mehreren Accounts die Emails abziehe (mit fetchmail) und in einen einzigen Account für meinen User am Server in an die hundert IMAP-Ordner einsortieren lasse. Nach Absendern/Themen/Empfängern/Subjects usw. gruppiert, da ich zusammenhängende Email-Konversationen auch über verschiedene Accounts reinbekomme...

Nehm mal an, Tom wird nicht so ein komplexes Ruleset benötigen, da seine Stuktur gänzlich anders aufgebaut ist, wie mein Mailserver arbeitet.

lg scientific

PS: Ich hab übrigens meine exim-Konfig soweit noch gepimpt, dass mein Server jetzt tatsächlich nur mehr Emails zum Versenden annimmt, wenn der User, der sich am SMTP-Port authentifiziert berechtigt ist, die gewählte From-Adresse zu verwenden. Ansonsten wird das Email zurückgewiesen und in TB kommt eine Fehlermeldung, dass der User nicht berechtigt ist diese From-Adresse zu verwenden. Und zu jeder from-Adresse die der Server annimmt existiert genau ein Smarthost, zu dem es Credentials gibt mit denen sich exim als MTA einloggt um das Email über den Smarthost zu versenden.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: maildrop vs. procmail

Beitrag von weshalb » 29.06.2017 12:53:10

Ich hatte das erst innerhalb der Sievekonfiguration mittels Horde mitbekommen. Innerhalb von Horde kann man aber nicht erkennen, dass Roundcube seine Filter deaktiviert sind. Das sah ich nur über die Roundcubefiltereinstellungen selbst, in der ich auch die Hordefilter wieder deaktivieren konnte.

Man muss sich schon entscheiden und bei einem bleiben, es ist aber trotzdem irgendwie nicht produktiv. Ich frage mich deshalb, warum Sieve da unterscheidet.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: maildrop vs. procmail

Beitrag von scientific » 29.06.2017 20:20:48

Das sind bloß Symlinks im Verzeichnis von sieve. Und da setzt offenbar jede Anwendung ihre eigenen. Das hat mit Sieve per se nix zu tun...
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: maildrop vs. procmail

Beitrag von weshalb » 29.06.2017 23:58:36

scientific hat geschrieben:Das sind bloß Symlinks im Verzeichnis von sieve. Und da setzt offenbar jede Anwendung ihre eigenen. Das hat mit Sieve per se nix zu tun...
Ich meine mal gelesen zu haben, dass Sieve tatsächlich immer nur eine Datei verarbeiten kann.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: maildrop vs. procmail

Beitrag von catdog2 » 30.06.2017 00:12:22

Ich meine mal gelesen zu haben, dass Sieve tatsächlich immer nur eine Datei verarbeiten kann.
Jein es wird halt immer nur ein Skript ausgeführt welches als solches gesetzt ist. Es gibt aber ein include Statement [1], man kann also auch mit mehreren Dateien arbeiten.

[1] https://tools.ietf.org/html/rfc6609
Unix is user-friendly; it's just picky about who its friends are.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: maildrop vs. procmail

Beitrag von scientific » 30.06.2017 00:19:39

Ein ls -Al (ist der Alias zu l) auf das Sieve-Verzeichnis losgelassen ergibt:

Code: Alles auswählen

# l /var/spool/dovecot/sieve/jakob/
insgesamt 128
lrwxrwxrwx 1 jakob   jakob    15 Mai 24 22:42 jakob.sieve -> old-cyrus.sieve
-rw------- 1 dovecot mail   1454 Mai  6 00:11 jakob.sieve.log
-rw----rwx 1 jakob   jakob 10252 Mai  6 00:05 jakob.sieve.log.0
-rw-rw-rw- 1 jakob   mail  28113 Jun  9 00:14 jakob.svbin
-rw-rw-rw- 1 jakob   jakob 34532 Jun  9 00:00 old-cyrus.sieve
-rw-r--rwx 1 jakob   jakob 37286 Apr 11 01:33 old-cyrus.sieve.orig
-rw-rw-rw- 1 jakob   jakob    18 Mai 23 00:17 roundcube.sieve
drwxrwxrwx 1 jakob   jakob     0 Jun 25 11:37 tmp
old-cyrus.sieve ist die Sieve-Filterregel-Datei, welche ich von meinem früheren cyrus 1:1 übernommen und weitergeführt habe. roundcube.sieve wurde beim meinem Versuch mit Roundcube angelegt. Offenbar (ich hab die Config nicht mehr ganz so im Kopf) verwendet dovecot-sieve die Datei $USERNAME.sieve. Ob das nun ein Symlink oder eine "echte" Datei ist, scheint egal zu sein. Kann ich aber jetzt nicht beschwören.

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
novalix
Beiträge: 1908
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: maildrop vs. procmail

Beitrag von novalix » 30.06.2017 09:16:29

Wenn ich das recht verstehe, läßt Du ja Postfix beim Mailempfang außen vor. Getmail holt die Mails gibt sie direkt an procmail, und dieses sortiert diese dann in die jeweiligen mboxes oder maildirs. In diesem Fall wäre es dann auch völlig egal, welcher MDA in der master.cf von Postfix wie konfiguriert ist. Den von @catdog2 ins Spiel gebrachten dovecot-eigenen Agent habe ich noch nie im stand alone Modus konfiguriert, und kenne dafür auch keine Anleitung.
Meines Erachtens nach wäre es sinnvoll, die abgeholten Mails in Postfix zu füttern und von dort aus weiter zu verarbeiten.
Aber vielleicht machst Du das ja schon. Geht aus Deinem Eingangspost allerdings nicht so hervor.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: maildrop vs. procmail

Beitrag von weshalb » 30.06.2017 10:17:00

catdog2 hat geschrieben:
Ich meine mal gelesen zu haben, dass Sieve tatsächlich immer nur eine Datei verarbeiten kann.
Jein es wird halt immer nur ein Skript ausgeführt welches als solches gesetzt ist. Es gibt aber ein include Statement [1], man kann also auch mit mehreren Dateien arbeiten.

[1] https://tools.ietf.org/html/rfc6609
War das nicht immer nur für eine zusätzliche globale Filterung gedacht? Auch das nützt nichts, wenn man mit verschiedenen Mailclients über Managesieve seine Sieveregeln bearbeiten will.

Bestes Beispiel> Ich nutze im Netzwerk ausschließlich Thunderbird, bin für mehrere Wochen nicht im Haus und greife nur über Roundcube oder Horde auf meine Mails zu. Sobald ich auch nur eine Filterregel ändern, dazu nehmen oder löschen möchte, muss ich alle Filterregeln neu anlegen, zumal beispielsweise Roundcube die bereits vorhandene Filterdatei erkennt, nur bearbeiten eben nicht. Ich weiß nach wie vor nicht, was die sich dabei gedacht haben.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: maildrop vs. procmail

Beitrag von catdog2 » 30.06.2017 10:34:43

Bestes Beispiel> Ich nutze im Netzwerk ausschließlich Thunderbird, bin für mehrere Wochen nicht im Haus und greife nur über Roundcube oder Horde auf meine Mails zu. Sobald ich auch nur eine Filterregel ändern, dazu nehmen oder löschen möchte, muss ich alle Filterregeln neu anlegen, zumal beispielsweise Roundcube die bereits vorhandene Filterdatei erkennt, nur bearbeiten eben nicht. Ich weiß nach wie vor nicht, was die sich dabei gedacht haben.
Gegen kaputte Clients kann man nicht viel machen. Das passiert halt, wenn man die Textdarstellung vor dem Nutzer komplett verstecken will und einen auf klickbunt macht, das dann aber nicht vernünftig umgesetzt kriegt. In KMail kann ich z.B. die Skripte einfach direkt bearbeiten mit einem einen kleinen spezialisierten Editor, sicherlich auch ausbaufähig aber es steht zumindest nicht im Weg mit dem was es nicht kann.
Unix is user-friendly; it's just picky about who its friends are.

TomL

Re: maildrop vs. procmail

Beitrag von TomL » 30.06.2017 10:42:06

novalix hat geschrieben:Wenn ich das recht verstehe, läßt Du ja Postfix beim Mailempfang außen vor. Getmail holt die Mails gibt sie direkt an procmail, und dieses sortiert diese dann in die jeweiligen mboxes oder maildirs.
Richtig, genau so ist es derzeit.
novalix hat geschrieben:Den von @catdog2 ins Spiel gebrachten dovecot-eigenen Agent habe ich noch nie im stand alone Modus konfiguriert, und kenne dafür auch keine Anleitung. Meines Erachtens nach wäre es sinnvoll, die abgeholten Mails in Postfix zu füttern und von dort aus weiter zu verarbeiten.
Aber vielleicht machst Du das ja schon. Geht aus Deinem Eingangspost allerdings nicht so hervor.
Und genau damit sprichst Du jetzt mein wirkliches Problem an.... das Zusammenspiel der Komponenten... was m.E. an keiner Stelle hinreichend und nachvollziehbar dokumentiert ist.

Dovecot hat -wenn ich das richtig verstanden habe- nicht nur einen Delivery-Agenten, sondern zwei, und beide können Sieve in ihr Protocoll einbauen. Es gibt also einmal den dovecot-lmtpd und dann noch Dovecot LDA... wobei ich annehme, dass dovecot-lda Bestandteil des Core-Paketes ist. Tatsache ist, der lda "is the worser solution..." bei den delivery agents. Diese Beurteilung habe ich aus der Dovecot-Mailingliste entnommen. Ich interpretiere das so , dass 'lda' Basis-Funktionen im Core zur Verfügung stellt,und Dovecot-lmtpd als eigenes Paket deutlich mehr Umfang beinhaltet... aber das beide eine solche Aufgabe erfüllen könnten. Ob meine Interpretation richtig ist weiss ich natürlich nicht... ist alles total schwer zu verifizieren.

Aber... das Paket Dovecot-lmtpd habe ich ja sowieso installiert... allein wegen der Zustellung rein lokaler Post. Das heisst, lokale Zustellung funktioniert ja jetzt schon. Und daraus resultiert die Frage, wie ich den weiteren lokalen Transport implementieren muss, um die von Getmail abgeholten Emails -die ja nun lokal vorliegen- an den lmtdp zu übergeben? Die Kernfrage ist, kann Getmail überhaupt selber direkt an den ltmpd übergeben oder muss ich den Umweg über Postfix wählen? Oder funktioniert das vielleicht alles auch nur über das "lda"-Protokoll? Sind direkte Wege von Getmail via Sieve nach Dovecot möglich, oder muss ich grundsätzlich Postfix einbinden?

Darübe hinaus ist auch noch managedsieve ein Thema. Ich möchte rein statische Verteilregeln implementieren, genau so, wie das eigentlich jetzt auch mit procmail abläuft. Ich verstehe das jetzt so, dass ich die sieve-Regeln im User-Dir hinterlegen (gemäß den Sieve-Vorgaben) und sieve als Plugin in das Protokoll übernehmen kann. Managedsieve als Backend zu Roundcube würde ich dann doch gar nicht brauchen.

Also eigentlich wäre mein Ziel, die Delivery-Funktion mit Sieve genauso geradlinig und statisch abzubilden, wie ich das jetzt mit procmail mache. Aber dafür findet man so gut wie nix an hilfreichen Informationen.

Benutzeravatar
novalix
Beiträge: 1908
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: maildrop vs. procmail

Beitrag von novalix » 30.06.2017 14:30:36

TomL hat geschrieben: Aber... das Paket Dovecot-lmtpd habe ich ja sowieso installiert... allein wegen der Zustellung rein lokaler Post. Das heisst, lokale Zustellung funktioniert ja jetzt schon. Und daraus resultiert die Frage, wie ich den weiteren lokalen Transport implementieren muss, um die von Getmail abgeholten Emails -die ja nun lokal vorliegen- an den lmtdp zu übergeben? Die Kernfrage ist, kann Getmail überhaupt selber direkt an den ltmpd übergeben oder muss ich den Umweg über Postfix wählen? Oder funktioniert das vielleicht alles auch nur über das "lda"-Protokoll? Sind direkte Wege von Getmail via Sieve nach Dovecot möglich, oder muss ich grundsätzlich Postfix einbinden?
Ob Du Postfix grundsätzlich einbinden musst, weiß ich nicht. Aber, was spricht dagegen? Ich kenne ja Deine Anforderungen und Dein Setup nicht. Wenn Du mehrere User verwaltest, dann müssen die sich ja in jedem Fall bei Postfix authentifizieren, um Mail versenden zu können. Wenn eingehende mails erst einmal an Postfix übergeben werden, könnte das selbe user mapping greifen. Außerdem könntest Du die eingehenden Mails noch zusätzliche Schleifen durch irgendwelche Milter, Amavis, o.Ä. drehen lassen.

Sieve ist afaik selbst kein Delivery Agent, sondern das reine Filterregelprotokoll.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: maildrop vs. procmail

Beitrag von scientific » 30.06.2017 15:52:49

Bei mir liefert fetchmail die Emails an exim ab, der anhand der Empfängeradresse erkennt, dass es lokal zugestellt werden muss.
Wenn ich per mailx ein Email an jakob@localhost sende, weiß exim ebenfalls, dass es ein lokal zuzustellendes Mail ist und verwendet den Transport, den ich für lokale Zustellung definiert habe. In meinem Fall eben den dovecot-MDA.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

TomL

Re: maildrop vs. procmail

Beitrag von TomL » 01.07.2017 11:44:38

novalix hat geschrieben:Ob Du Postfix grundsätzlich einbinden musst, weiß ich nicht. Aber, was spricht dagegen?
Nee, eigentlich spricht nix dagegen, zumindest technisch nicht. Ich bin halt nur nicht so recht von der Notwendigkeit und der Sinnhaftigkeit überzeugt. Und postfix nur dazwischen zu schalten, weils möglich ist.... tja...ohne zu verstehen, dass es MUSS, tue ich mich schwer damit.

Worum gehts eigentlich... ?... ganz einfach: um die letztendliche Zustellung nach dem erfolgreich beendeten Prozess Getmail, also um die jeweilige Zustellung der Mail ins eigentliche/richtige Postfach. Und ich habe bereits einen Delivery-Agenten installliert, der jetzt schon zuverlässig funktioniert, und zwar den dovecot-lmtpd. Dieser Agent stellt ja heute schon lokale Post zu, nur in dem Fall bekommt er sie von Postfix.

Laut dovecot-wiki kann ich auch direkt im usereigenen accountindividuellen Getmail-Conf den Dovecot-Delivery eintragen, was dann in etwa so aussieht:

Code: Alles auswählen

[destination]
type = MDA_external
path = /usr/lib/dovecot/deliver
arguments = ("-e",)
Daraus verstehe ich, dass der Umweg über Postfix eigentlich nicht notwendig ist. An dem Punkt gibts nur 2 Probleme

1. Was kommt im Feld "arguments" rein?
2. Wie wird die Mail an das passende (!) Postfach zugestellt, bzw. wie/wo/von wem wird das Postfach ermittelt?

Zu 2. konnte ich finden, dass das wohl über einen sieve-Filter möglich ist, dem Beispiel entsprechend wie es 'weshalb' gepostet hat. Das Filter-Regeln verwendet werden und wo sie zu finden sind wird in der dovecot.conf eingetragen, lt. Web-Beispiele und weshalb's sehr ähnlichem Beispiel sieht das so aus:

Code: Alles auswählen

protocol lmtp {
  mail_plugins = $mail_plugins sieve
}
plugin {
   sieve = ~/.dovecot.sieve
   sieve_default = /var/lib/dovecot/sieve/default.sieve
   sieve_global = /var/lib/dovecot/sieve/global/
}
Mein Problem ist,dass ich im Moment nicht mehr die Zusammenhänge erfasse... weil ich keine Aussagen finde, darüber was muss oder was kann und wie überhaupt. Mir kommt es nur so komisch vor, wenn ich die Mails via Getmail runterlade, um sie dann an Postfix weiter zu reichen, der sie dann doch an Dovecot-lmtpd übergibt..... dem Dovecot-DA kanns doch eigentlich egal sein, von wem er die Post bekommt, dass geht ja (siehe oben) auch direkt von Getmail. Und Postfix selber selektiert ja auch nicht das schlussendlich richtige Postfach... das muss doch sowieso der LDA übernehmen.

Kerkerker... ist das kompliziert......


Das ist absolut clever:
https://listen.jpberlin.de/pipermail/do ... 00626.html

... erinnert mich an den Touristen, der fragt "Entschuldigung, kennen Sie den Weg nach sowieso" und der gefragte antwortet "Ja!" und geht weiter.... :facepalm:

Antworten