chris personal blag

30Jun/100

Sieve Mailfilter mit Exim4 + Dovecot auf Debian 5.0 (Lenny)

Ich baue grade meinen Mailserver neu auf, und habe mich in diesem Zuge von procmail getrennt.
Auf dem neuen Server können sich keine Nutzer einloggen, daher gibt es auch keine Möglichkeit mehr, die persönliche
Procmail-Config zu editieren.

Als Ersatz hält Sieve her, dessen Scripte bequem über den eh schon laufenden IMAP/pop3/und eben sieve-Server dovecot editiert werden können.

Welche Einstellungen ich dazu getroffen habe dokumentiere ich nach dem Break…

Ich gehe davon aus, das auf dem Mailserver exim4 und dovecot schon laufen. Im großen und ganzen braucht es für beide auch nur „apt-get install …“.
Exim ist dabei mit gesplitteter Konfiguration eingerichtet. Wer nicht die split config benutzen will, muss sich leider die entsprechenden Stellen in der großen Configdatei selber suchen.

Als erstes muss dovecot den Sieveserver anbieten, dazu in dovecot.conf die protocols-Zeile ergänzen:

protocols = imaps pop3s managesieve

Als nächstes in derselben Datei die LDA-Sektion (ist schon vorbereitet und einkommentiert) entsprechend anpassen, bis diese etwa so aussieht:

protocol lda {
  # Address to use when sending rejection mails.
  postmaster_address = postmaster@exosphere.de

  # Hostname to use in various parts of sent mails, eg. in Message-Id.
  # Default is the system's real hostname.
  hostname = mail.exosphere.de

  # Support for dynamically loadable plugins. mail_plugins is a space separated
  # list of plugins to load.
  #mail_plugins =
  mail_plugin_dir = /usr/lib/dovecot/modules/lda

  # Binary to use for sending mails.
  sendmail_path = /usr/lib/sendmail

  # UNIX socket path to master authentication server to find users.
  auth_socket_path = /var/run/dovecot/auth-master

  # Enabling Sieve plugin for server-side mail filtering
  mail_plugins = cmusieve
}

Der Auth-Socket ist wichtig, damit sich Nutzer am sieve-daemon einloggen können.
Dazu muss weiter unten in dovecot.conf wieder eine vorbereitete Sektion aktiviert werden:

Sektion auth
  ## dovecot-lda specific settings
  ##
  socket listen {
     master {
       path = /var/run/dovecot/auth-master
       mode = 0600
       user = mail # User running Dovecot LDA
       group = mail # Or alternatively mode 0660 + LDA user in this group
     }
  }

Zuletzt müssen wir noch Exim mitteilen, das eingehende Mail an dovecots deliver-MDA übergeben werden soll, damit
der die Mails entsprechend nach den Sieve-Regeln sortieren kann.

Dazu brauchen wir /etc/exim4/conf.d/transport/30_exim4-config_dovecot_pipe als neue Datei. Inhalt:

dovecot_pipe:
  driver = pipe
  command = /usr/lib/dovecot/deliver
  message_prefix =
  message_suffix =
  log_output
  delivery_date_add
  envelope_to_add
  return_path_add
  temp_errors = 64 : 69 : 70: 71 : 72 : 73 : 74 : 75 : 78

(angepasstes Beispiel aus dem Dovecot-Wiki).

Jetzt noch in /etc/exim4/update-exim.conf.conf die lokale Deliverymethode anpassen:

dc_localdelivery='dovecot_pipe'

Und schon kann jeder Nutzer seine Mails mittels Sieve direkt auf dem Server sortieren lassen.

Related posts:

  1. E-Mail mit Haltbarkeitsdatum mit Exim
  2. Sieve-Regeln editieren via Horde Imp
  3. Suffixe für lokale Nutzer mit Exim: user-irgendwas@domain
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

No trackbacks yet.