mailbox.
iai.uni-bonn.de
Institut für Angewandte Informatik
Rheinische Friedrich-Wilhelms-Universität Bonn
Systemgruppe Angewandte Informatik

Grundlegende Konzepte

Im nachfolgenden Dokument sollen einige der besonderen Vorzüge des auf mailbox.iai.uni-bonn.de eingesetzten Cyrus IMAP servers vorgestellt werden, die für Anwender direkt sicht- und spürbar sind.

Features.

Der Cyrus IMAP server ist ein mail access server und bietet Zugriff auf persönliche Email Nachrichten über das IMAP Protokoll. Zusätzlich verarbeitet der server auch Anfragen über das POP3 Protokoll. Die hier vorgestellten Konzepte sind jedoch nur mittels IMAP in Ihrer vollen Güte nutzbar. Zur Ausführung gelangen auf mailbox.iai.uni-bonn.de die mit SSL verschlüsselten Varianten oben genannter Protokolle IMAPS sowie POP3S.

Dies sind die einzigen Zugriffsmechanismen, handelt es sich bei cyrus um einen sogenannten sealed server. Dabei liegen die Daten in einem privaten Format und in verschiedenen Datenbanken des servers. Dies ermöglicht eine hohe Skalierbarkeit, Effizienz und Datensicherheit.

mailbox Namensraum
Der mailbox Namensraum lehnt sich an die USENET Konventionen an. Mailbox Namen sind case-sensitive und können aus Kleinbuchstaben und Ziffern gebildet werden.

Bitte beachten Sie auch im eigenen Interesse die Beschänkungen in der Wahl von folder Namen in der Seite Namensraum !

folder
Nachrichten sind immer einem bestimmten folder zugeordnet. Diese folder können selbst wiederum in anderen foldern liegen, wobei man auch von subfoldern spricht. Dadurch entsteht eine Hierarchie, eine Art Teilbaum. Das Trennzeichen zwischen foldern ist der Punkt. Es empfiehlt sich der Aufbau einer Hierarchie und nicht der reine Einsatz der INBOX (bei vielen foldern, einer echten Hierarchie).
(-> siehe auch subfolder Adressierbarkeit)

user
Jeder Mailuser/mailbox verfügt über einen Stammknoten der als sogenannte inbox bezeichnet wird. Unter seiner persönlichen inbox ist es jedem Anwender möglich einen Teilbaum mit weiteren foldern zu erzeugen. Diese können wie seine inbox sowohl Nachrichten als auch weitere folder beinhalten. Es sei ausdrücklich darauf hingewiesen, dass Anwender im Normalfall lediglich in dem Teilbaum unterhalb ihrer inbox weitere folder anlegen dürfen.
Eine solche inbox und damit die Wurzel eines Teilbaumes lässt sich global auch als user. userid im Gesamtbaum des Cyrus IMAP servers ansprechen. In der Hierarchie user werden die inboxes aller Anwender zusammengefasst. Die Bereiche anderer Anwender (i.a.R. lediglich einzelne folder und auch nur, wenn vom Besitzer vorgesehen) sind ggf. auch für einzelne andere Anwender unter user. userid .* ansprechbar.

Zugriff auf folder anderer Anwender
Dieses Konzept in Verbindung mit Access Control Lists erlaubt es Nutzern des servers, eigene Teilbäume oder einzelne folder anderen Nutzern des servers zugreifbar zu machen. Dazu sind lediglich entsprechende Rechte für einen anderen user zu vergeben. Die Rechtevergabe geschieht über die Access Control Lists (ACLs) direkt über das IMAP-Protokoll.

Access Control Lists
Access Control Lists (ACLs) sind jedem folder zugeordnet. In der Regel gestatten Sie lediglich dem besitzenden user (sowie den cyrus* Kennungen des IMAP servers) Rechte mit Ausnahme des post Rechtes für anonymous . Dieses ist bei subfoldern nötig, um in diesen direkt Mails per Email-Subaddress empfangen zu können. Die Besitzer bzw. mit entsprechenden Rechten (administer) ausgestattete user können die ACL eines folders durch Access Control Entries (ACEs) ergänzen bzw. solche wieder entfernen.

Folgende Rechte sind an user vergebbar, gelten genau für einen folder und alle darin enthaltenen Nachrichten und etwaige subfolder Eintrag selbst (nicht deren Inhalt usw) und werden bei der Erzeugung eines neuen subfolders von dem Vater vollständig geerbt.

  • l lookup - Erlaubnis, diesen folder/mailbox zu sehen
  • r read - Erlaubnis, diesen folder/mailbox und darin enthaltene Nachrichten zu lesen
  • s seen - seen und recent flags werden individuell für den mit der Erlaubnis versehenden user gespeichert

  • t deleteflag - Erlaubnis, das Deleted flag in Nachrichten zu setzen
  • e expunge - Erlaubnis, Nachrichten mit gesetztem Deleted flag per expunge entfernen zu lassen)
  • d delete - legacy macro fuer "te" / subfolder loeschen (wird "x")

  • i insert - Erlaubnis, Nachrichten in diesen folder/mailbox zu speichern
  • w write - Erlaubnis, weitere flags zu ändern

  • c create - Erlaubnis, folder/mailbox zu loeschen oder umzubenennen sowie subfolder darin anzulegen, umzubenennen oder zu löschen (wird "kx")

  • p post - Erlaubnis, Nachrichten durch das Mailsystem in diesen folder/mailbox aufzunehmen (i.d.R. fuer anonymous)
  • n annotate - Erlaubnis, annotations zu speichern
  • a administer - Erlaubnis, die ACL zu ändern
Diese flags sind kombinierbar etwa in den folgenden Konstellationen:
  • lr - Erlaubnis folder zu lesen
  • lrs - Erlaubnis folder zu lesen. Der persönliche Lesestatus wird gespeichert.

Einzelne Rechte sind durch das Präfixen von - entziehbar.

Als user ist die Anmeldekennung eines anderen IMAP-Nutzers am IMAP-Server zu verwenden, keine Emailadressen.

Besondere user sind in diesem Zusammenhang der unauthentifizierte user anonymous und der alle user umfassende user anyone .

Aenderungen sind auch ueber web/squirrelmail oder websieve moeglich, wenn der eigene IMAP Klient die Verwaltung nicht zulaesst.

subfolder Addressierbarkeit
Neben der manuellen Zuweisung von Nachrichten an einen folder oder der automatisierten Einsortierung per Sieve Filter bietet sich in vielen Fällen die Zuordnung per Email-Subaddress an. Diese basiert auf folgender Aufteilung: die Adresse userid + subaddress wird intern dem folder oder subfolder subaddress zugeordnet. Beispielsweise würde eine Mail adressiert an userid+ml.liste1 dem folder liste1 im folder ml des users userid zugeordnet. Existiert dieser folder nicht (oder ist für anonymous nicht mit dem p Recht versehen (siehe ACL)), wird die Nachricht in die INBOX des users geleitet.

To: userid+ml.liste1@informatik.uni-bonn.de

  • user.
    • userid.
      • ml.
        • liste1
bzw.
  • inbox.
    • ml.
      • liste1

Bitte beachten Sie, dass vom SMTP Server alle Grossbuchstaben in Kleinbuchstaben gewandelt werden! Wenn Sie direkte folder-Adressierung verwenden möchten, sollten Sie für folder keine Grossbuchstaben (und am besten nur Kleinbuchstaben und ggf. Ziffern, jedoch keine Sonderzeichen) verwenden.

quota
Das zum Einsatz kommende interne quota System des Cyrus IMAP servers bietet gegenüber der filesystem Variante folgende Vorzüge:

  • Überschreitung wirkt sich zunächst nur als temporärer Fehler aus, d.h., die Mail zuviel wird vom Mail Delivery System für eine gewisse Zeit vorgehalten, und bei Unterschreitung der quota zugestellt.
  • die quota wirkt auf Mails in Ihrer Gesamtheit. Eine Mail wird somit entweder zugestellt oder nicht zugestellt (bzw. in der Warteschlange gehalten), wenn die quota bereits überschritten ist. Es kommt nicht zu Teilzustellungen.
  • Warnungen betreffend quota werden einem Klienten über das IMAP Protokoll mitgeteilt, so dass der mail user agent diese bei entsprechener Ausstattung und Konfiguration direkt anzeigen wird.

Elimination von Doppeln
Die mehrfache Zustellung einer Nachricht wird in einem gewissen Zeitraum unterdrückt. Wenn Sie Nachrichten mehr als einmal erreichen, z.B. bei direkter Adressierung und Cc an einen Ihre Adresse enthaltenen Verteiler, so werden diese pro Zielverzeichnis aussortiert.

IMAP IDLE
Mit der IDLE Anweisung kann ihr Klient dem server mitteilen, dass neue oder gelöschte Nachrichten dem Klienten vom Cyrus IMAP server mitgeteilt werden sollen (PUSH), so dass der Klient nur alle 29 Minuten einen POLL durchführen muss und trotzdem updates in "Echtzeit" erfährt.

parallele Zugriffe

parallele Zugriffe
Über das IMAP Protokoll sind parallele Zugriffe auch verschiedener clients auf folder möglich. Auch dies gilt nicht für den (gemischten) Einsatz mit dem POP3 Protokoll.

Filtersprache Sieve
siehe nächsten Punkt Sieve

zusätzliche Hinweise für die Verwendung von POP3:

  • Verwenden Sie wann immer möglich IMAP
  • Das Poll-/Checkinterval für neue Email sollte mindestens 3 Minuten betragen. Zeitlich früher wiederkehrende polls können abgewiesen werden.
  • Mail sollte entweder gar nicht auf dem server belassen werden oder dort in regelmässigen Abständen gelöscht werden. Ansonsten ist es möglich, dass Ihnen vorhandene Mails von Ihrem Klienten nicht mehr angezeigt werden (nachdem dort gelöscht), sich jedoch immer noch auf dem server befinden und dort Ressourcen verbrauchen.
 zurück