Drucken

Nutzergesteuerte dynamische Mailaddressen mit Exim und Courier IMAP

Beitragsseiten
Nutzergesteuerte dynamische Mailaddressen mit Exim und Courier IMAP
Zielstellung
Realisierung
Alle Seiten

Das Problem

Wer kennt das nicht: man hat online ein neues interessantes Produkt gefunden. Vor den Test oder den Download hat der Hersteller aber eine Hürde gelegt: die Registrierung. Natürlich muss man in der Regel dort auch eine valide Mailadresse angegen, an die dann auch eventuelle Aktivierungsinformationen oder Downloadlinks geschickt werden. Aufgrund der aktuellen SPAM-Problematik ist die Weitergabe der eigenen Mailadresse aber immer etwas heikel, und den Mailserveradmin ständig um neue Mailboxen oder Weiterleitungen nur für Registrierungszwecke zu bitten ist auch nicht praktikabel. Aus diesem Grund hier ein Beispiel, wie man ein Mailsystem so aufsetzen kann, das Nutzer sich mit einfachen Mitteln selbst (temporäre) Mailadressen anlegen und wieder löschen können. Als Bonus werden Mails an solche Adressen automatisch in eigene IMAP-Ordner einsortiert.

Hintergrund

Zum Verständnis der Lösung hier zunächst der technische Hintergrund. Eingesetzt wird eine Kombination aus exim4 als SMTP Server und courier-imap zum Zugriff auf die Mails mittels IMAP. Das Mailsystem arbeitet mit virtuellen Nutzern, die Informationen über Nutzerdaten, Mailboxen und Weiterleitungen sind in einer PostgresQL Datenbank gespeichert. Die INBOX einer courier-imap Mailbox wird, ausgehend von einer Mailadresse der Form local_part@domain im Verzeichnis /var/mail/virtual_imap/$domain/$local_part/Maildir/ erwartet. Mails werden im Normalfall dort dann passend einsortiert. Um die Pfade in der weiteren Darstellung kurz zu halten, setze ich für /var/mail/virtual_imap/ das Wort IMAP_HOME ein

courier-imap legt weitere Unterordner der Mailbox dann als separate Maildirs der Form IMAP_HOME/$domain/$local_part/Maildir/.Unterordner/ als separate Maildirs an.