Virtuelle Benutzer und Domains mit Postfix, Courier und MySQL (Mandriva 2008.0)

12 Postfix Testen

Um zu sehen, ob Postfix bereit ist für SMTP-AUTH und TLS, führe Folgendes aus

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server eingerichtet hast, tippe

ehlo localhost

Wenn Du die Zeile

250-STARTTLS

und

250-AUTH PLAIN LOGIN

siehst, ist alles in Ordnung.

[[email protected] postfix]# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‚^]‘.
220 server1.example.com ESMTP Postfix (2.4.5) (Mandriva Linux)
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[[email protected] postfix]#

Gib ein

quit

um zur Kommandozeile des Systems zurückzukehren.

13 Die Datenbank füllen und testen

Um die Datenbank zu füllen, kannst Du die MySQL Kommandozeile verwenden:

mysql -u root -p
USE mail;

Du musst wenigstens Einträge in den Tabellen domains und users erstellen:

INSERT INTO `domains` (`domain`) VALUES (‚example.com‘);
INSERT INTO `users` (`email`, `password`, `quota`) VALUES (’[email protected]‘, ENCRYPT(’secret‘), 10485760);

(Bitte pass auf, dass Du den ENCRYPT Syntax im zweiten INSERT Statement verwendest, um das Passwort zu verschlüsseln!)

Wenn Du Einträge in den anderen zwei Tabellen vornehmen möchtest, würde dies so aussehen:

INSERT INTO `forwardings` (`source`, `destination`) VALUES (‚[email protected]‘, ’[email protected]‘);
INSERT INTO `transport` (`domain`, `transport`) VALUES (‚example.com‘, ’smtp:mail.example.com‘);

Um die MySQL Kommandozeile zu verlassen, gib Folgendes ein

quit;

Für die Meisten ist es einfachen wenn sie ein grafisches Front-End zu MySQL haben; daher kannst Du auch phpMyAdmin (in diesem Beispiel unter http://192.168.0.100/phpmyadmin/ oder http://server1.example.com/phpmyadmin/) verwenden um die mail Datenbank zu verwalten. Nochmal, wenn Du einen Benutzer einrichtest, vergewissere Dich, dass Du die ENCRYPT Funktion zum Verschlüsseln des Passwortes verwendest:

Ich denke nicht, dass ich die domains und users Tabelle weiter erklären muss.

Die forwardings Tabelle kann Einträge wie den folgenden haben:

source destination  
[email protected][email protected]Redirects emails for [email protected] to [email protected]
@example.com[email protected]Creates a Catch-All account for [email protected] All emails to example.com will arrive at [email protected], except those that exist in the users table (i.e., if [email protected] exists in the users table, mails to [email protected] will still arrive at [email protected]).
@example.com@anotherdomain.tldThis redirects all emails to example.com to the same user at anotherdomain.tld. E.g., emails to [email protected] will be forwarded to [email protected]
[email protected][email protected], [email protected]Forward emails for [email protected] to two or more email addresses. All listed email addresses under destination receive a copy of the email.

Die transport Tabelle kann Einträge wie diese haben:

domain transport  
example.com:Delivers emails for example.com locally. This is as if this record would not exist in this table at all.
example.comsmtp:mail.anotherdomain.tldDelivers all emails for example.com via smtp to the server mail.anotherdomain.com.
example.comsmtp:mail.anotherdomain.tld:2025Delivers all emails for example.com via smtp to the server mail.anotherdomain.com, but on port 2025, not 25 which is the default port for smtp.
example.comsmtp:[1.2.3.4]
smtp:[1.2.3.4]:2025
smtp:[mail.anotherdomain.tld]
The square brackets prevent Postfix from doing lookups of the MX DNS record for the address in square brackets. Makes sense for IP addresses.
.example.comsmtp:mail.anotherdomain.tldMail for any subdomain of example.com is delivered to mail.anotherdomain.tld.
*smtp:mail.anotherdomain.tldAll emails are delivered to mail.anotherdomain.tld.
[email protected]smtp:mail.anotherdomain.tldEmails for [email protected] are delivered to mail.anotherdomain.tld.

Siehe

man transport

für mehr Informationen.

Bitte denke daran, dass die Anordnung der Einträge in der transport Tabelle wichtig ist! Die Einträge schließen sich von oben nach unten an.

Wichtig: Postfix verwendet einen Caching Mechanism für den Transport, daher kann es eine Weile dauern, bis Deine Änderungen in der transport Tabelle übernommen werden. Wenn Du möchtest, dass sie sofort übernommen werden, lass Folgendes laufen

postfix reload

nachdem Du Deine Änderungen in der transport Tabelle vorgenommen hast.

14 Referenzen

Tutorial: ISP-style Email Service with Debian-Sarge and Postfix 2.1: http://workaround.org/articles/ispmail-sarge/

Postfix + Quota: http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&forum=17

Mail Passwords Encrypted using saslauthd: http://www.syscp.de/docs/public/contrib/cryptedmailpws

15 Links

Das könnte Dich auch interessieren …