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