Hilfreicher Artikel dazu: http://www.firstpr.com.au/web-mail/mta-integration-01/
Allgemeines
In einer bestehenden postfix-Installation soll die Verwendung von imap-Postfächern ermöglicht werden.
Der Artikel gilt für SuSE Linux Version 12.2
Installation courier, fam und gamin
# Installation courier incl. Authentifizierungsbibliothek # Soll die Authentifizierung gegen eine Datenbank erfolgen sind weitere Pakete erforderlich. # In diesem Beispiel wird gegen die "normalen" User des Systems auhentifiziert (die in /etc/passwd definiert sind) # rpm -qa|grep -i courier courier-imap-4.9.3-6.1.3.i586 courier-authlib-0.63.0-16.1.3.i586 # rpm -qa|grep fam fam-server-2.7.0-159.2.1.i586 libfam0-2.7.0-159.2.1.i586 fam-2.7.0-159.2.1.i586 # rpm -qa|grep gamin gamin-server-0.1.10-2.1.2.i586 #
Danach sind folgende Dateien vorhanden:
# l /etc/init.d/*courier* -rwxr-xr-x 1 root root 3774 Jul 16 2012 /etc/init.d/courier-authdaemon* -rwxr-xr-x 1 root root 3202 Jul 16 2012 /etc/init.d/courier-imap* -rwxr-xr-x 1 root root 3576 Jul 16 2012 /etc/init.d/courier-imap-ssl* -rwxr-xr-x 1 root root 3152 Jul 16 2012 /etc/init.d/courier-pop* -rwxr-xr-x 1 root root 3604 Jul 16 2012 /etc/init.d/courier-pop-ssl* #
Evtl. wird beim Start des imap-ssl Dienstes die folgende Meldung angezeigt:
Failed to create cache file: maildirwatch (USER)
In diesem Fall:
# In der Datei /etc/courier/imapd den folgenden Wert setzen: IMAP_USELOCKS=0 #Anschließend ggf. courier-imap-ssl Dienst neu starten
Es wird empfohlen nur die ssl-Dienste zu verwenden. Für diese Dienste wird ein ssl-Zertifikat benötigt, ggf. kann man mit der folgenden Anleitung ein eigenes Zertifkat generieren: Installation IMAP Mailprotokoll
Nach dem Start der Dienste courier-authdaemon und courier-imap-ssl sollte der einfache Zugriff mit einem Mailclient über imap mit ssl möglich sein.
Benutzername/Kennwort muss ein auf dem Server bekannter Benutzer sein.
Allerdings muss man näher betrachten wo bei diesem User die Mails gespeichert sind.
In der Standardkonfiguration werden die Mails von Postfix über den Standard-MTA (Mail Transfer Agent) in /var/spool/mail/USERNAME gespeichert.
Nachdem der User die Mails gelesen hat befinden sie sich in seinem HOME-Verzeichnis unter $HOME/mbox
Daher nennt man diese Art der Speicherung auch Mailbox-Format (alles in einer Datei) siehe auch: http://de.wikipedia.org/wiki/Mbox
Dem gegenüber steht das sogenannte Maildir- Format, das eine Ordnerstruktur bereitstellt. Siehe auch http://de.wikipedia.org/wiki/Maildir
In diesem Beispiel entscheiden wir uns für das Maildir-Konzept.
Damit ergibt sich folgende Struktur:
postfix(Nimmt die Mail an) ==> Maildrop(liefert die Mail in die Maildir-Verzeichnisstruktur) ==> Courier-imap-ssl(Stellt diese Ordner nach der Authentifizierung dem Mailclient zur Verfügung)
Installation Maildrop als MTA
Leider habe ich Maildrop nicht als rpm gefunden so dass es selbst compiliert werden (Compiler erforderlich und das make-Utility)
Zusätzlich ist auch noch pcre (Perl Compatible Regular Expressions) (http://www.pcre.org) erforderlich:
rpm -qa|grep -i pcre libpcre1-8.30-3.1.2.i586 libpcreposix0-8.30-3.1.2.i586 pcre-devel-8.30-3.1.2.i586 libpcrecpp0-8.30-3.1.2.i586
Download Maildrop: http://www.courier-mta.org/download.php#maildrop
Nach dem download entpacken, configurieren und compilieren/installieren:
cd ~/install/maildrop-2.6.0 ./configure vi maildrop/config.h (Ändern: #define DEFAULT_DEF "./Maildir") das bewirkt, dass die Mails für jeden User in das Verzeichnis $HOME/Maildir geliefert werden. make make install make install-strip make install-man
Danach sollte das Maildrop-Programm bereitstehen in /usr/local/bin/maildrop
Konfiguration postfix um maildrop zu verwenden:
local_destination_concurrency_limit=1 mailbox_command = /usr/local/bin/maildrop
und in
# maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
Danach noch den postfix neu starten damit die Konfiguration aktualisiert wird.
Installation je Benutzer:
Für jeden User müssen nun noch die Maildir-Verzeichnisse im HOME-Verzeichnis angelegt werden.
Als User in seinem HOME-Verzeichnis ausführen (nicht als root):
# Der folgende Befehl legt das Verzeichnis Maildir und die Unterordner cur, new und tmp an maildirmake ./Maildir # Ob der Mailclient die folgenden Ordner verwendet kann am jeweiligen Client konfiguriert werden. maildirmake -f Drafts ./Maildir maildirmake -f Templates ./Maildir maildirmake -f Trash ./Maildir maildirmake -f Sent ./Maildir
Fertig, muss noch getestet werden.
Evtl. logfile lesen:
less /var/log/mail