Login
Newsletter
Werbung

So, 24. Mai 2009, 00:00

Mailserver auf Debian mit IMAP, Smarthost und Filter

IMAP mit Dovecot

Beim IMAP-Server möchte ich es Ihnen recht einfach machen. Sie benötigen hierfür einen Installationsbefehl und ein paar Kleinigkeiten zum Editieren. Dann habe ich ein Skript gebaut, über das man die passenden Mailboxen auf einem NSLU2 einrichten kann.

Zunächst ist /etc/hosts zu editieren. Die ersten zwei Zeilen sehen ungefähr so aus:

127.0.0.1 localhost
127.0.0.1 meinserver.example.org meinserver

Damit es später keine Probleme beim Erstellen der Sicherheitszertifikate gibt, ändern Sie diese zu

127.0.0.1 localhost
192.168.1.77 192.168.1.77 meinserver

Die Änderung abspeichern. Jetzt kann man die benötigten Programme installieren:

apt-get install dovecot-common dovecot-imapd getmail4

Dabei werden automatisch die Zertifikate /etc/ssl/certs/dovecot.pem und etc/ssl/private/dovecot.pem angelegt. Wenn man diese aus irgendeinem Grund neu generieren muss, dann löscht man beide und generiert sie mit dpkg-reconfigure dovecot-common neu.

Nun müssen wir ans Eingemachte. Das wird ein wenig komplexer. Wir editieren die Dovecot-Konfigurationsdatei /etc/dovecot/dovecot.conf. Folgende Zeilen müssen geändert werden.

protocols = imap imaps
disable_plaintext_auth = no
ssl_disable = no
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
mail_location = maildir:/home/%u/mail

Das war es dann auch schon. Speichern Sie die Änderung und starten Sie den IMAP-Server neu.

/etc/init.d/dovecot restart

An dieser Stelle kann man sich schon am IMAP-Server mit einem Mail-Client wie Thunderbird anmelden. Alternativ installieren wir jetzt noch den Webmailer Squirrelmail.

Squirrelmail Webmailer

Auf einem Debian-Webserver (Apache2, php, MySQL) ist Squirrelmail recht schnell installiert. Zunächst installieren wir Squirrelmail an der Konsole:

apt-get install squirrelmail

Wer das Shared Kalender-Plugin verwenden will, muss noch zwei zusätzliche Pakete installieren:

apt-get install php-db php-pear

Die Dateien von Squirrel liegen im Verzeichnis /usr/share/squirrelmail. Damit Apache diese auch findet, richten wir einen virtuellen Host ein. Editieren Sie dazu die Datei /etc/apache2/sites-enabled/000-default und fügen Sie unter dem ersten Alias-Abschnitt folgenden Abschnitt ein (innerhalb des Abschnitts »VirtualHost«):

Alias /squirrelmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
 Options Indexes
 AllowOverride none
 DirectoryIndex index.php
 Order allow,deny
 allow from all
</Directory>

Damit wird der Webmailer über die URL /squirrelmail aufgerufen.

Konfigurieren Sie nun den Webmailer mit

squirrelmail-configure

Sie sehen nun das Hauptmenü:

SquirrelMail Configuration: Read: config_default.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
Command >>

Wählen Sie hier D aus. Danach sehen Sie folgendes Menü:

Please select your IMAP server:
 bincimap = Binc IMAP server
 courier = Courier IMAP server
 cyrus = Cyrus IMAP server
 dovecot = Dovecot Secure IMAP server
 exchange = Microsoft Exchange IMAP server
 hmailserver = hMailServer
 macosx = Mac OS X Mailserver
 mercury32 = Mercury/32
 uw = University of Washington's IMAP server
 quit = Do not change anything
Command >>

Wir nehmen hier natürlich dovecot.

Danach müssen die Serversettings eingestellt werden:

Server Settings
General
-------
1. Domain : example.com
2. Invert Time : false
3. Sendmail or SMTP : SMTP
A. Update IMAP Settings : localhost:143 (dovecot)
B. Update SMTP Settings : localhost:25
R Return to Main Menu
C Turn color on
S Save data
Q Quit
Command >>

Stellen Sie hier unter 1.) Ihren Domain-Namen ein. Dann gehen Sie in den Unterpunkt A.):

IMAP Settings
--------------
4. IMAP Server : localhost
5. IMAP Port : 143
6. Authentication type : login
7. Secure IMAP (TLS) : false
8. Server software : dovecot
9. Delimiter : detect
B. Update SMTP Settings : localhost:25
H. Hide IMAP Server Settings
R Return to Main Menu
C Turn color on
S Save data
Q Quit
Command >>

Hier müssen die Settings entsprechend angepasst werden. Der Domain-Name, unter dem IMAP zu finden ist, ist normalerweise localhost. Zudem den Port auf 993 für SSL umstellen und Secure IMAP auf True umstellen.

Im Unterpunkt 10 des Hauptmenüs können Sie noch die Sprache auf de_DE umstellen:

Language preferences
1. Default Language : en_US
2. Default Charset : iso-8859-1
3. Enable lossy encoding : false
R Return to Main Menu
C Turn color on
S Save data
Q Quit
Command >>

Nun ist Apache neu zu starten:

/etc/init.d/apache2 restart

Der Webmailer wird nun über http://localhost/squirrelmail aufgerufen (vom Internet aus mit Ihrem Domainnamen anstatt localhost).

%%%PBREAK%%%

E-Mails mit Exim4 verschicken

Jetzt wollen wir noch E-Mails über den Server versenden können. Da wir keinen eigenen SMTP-Server einrichten wollen, nehmen wir einfach den unseres Providers als Smarthost. Um einen Smarthost einzurichten, startet man die Konfiguration mit

dpkg-reconfigure exim4-config

Dies enthält folgende Konfigurationsschritte:

  1. Versand über Sendezentrale (Smarthost); Empfang mit SMTP oder Fetchmail
  2. E-Mail-Name des Systems: Voreingestellten Domänen-Namen stehenlassen
  3. IP-Adressen, an denen eingehende SMTP-Verbindungen erwartet werden: 127.0.0.1
  4. Weitere Ziele, für die die E-Mails angenommen werden sollen: Auch hier den voreingestellten Domänen-Namen stehen lassen
  5. Rechner, für die die E-Mails weitergeleitet werden sollen (Relay): Leer lassen, wenn nicht ein weiterer Rechner diesen Rechner als Smarthost verwendet.
  6. IP-Adresse oder Rechnername der Sendezentrale für ausgehende E-Mails: Hier kommt die IP-Adresse oder der Rechnername Ihres ISPs hinein
  7. Lokalen E-Mail-Namen in ausgehenden Mails verbergen: Ja
  8. Sichtbarer Domänenname für lokalen Benutzer: Geben Sie Ihren eigenen Domänennamen ein (in der Form meinepage.de)
  9. DNS-Anfragen minimieren: Ja
  10. Versandart bei lokaler Mailzustellung: Mbox-Format in /var/mail
  11. Einstellungen auf kleine Dateien aufteilen: Nein

Danach startet der MTA neu. Es kann sein, dass Ihr Smarthost eine Authentifizierung verlangt. Diese hinterlegt man in der Datei /etc/exim4/passwd.client.

IP_des_Mailserver_oder_Name:LOGIN:PASSWORT

Die Datei sollte nur für root lesbar sein.

Nach dem Neustart von Exim mit /etc/init.d/exim4 restart kann man auch Mails verschicken.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung