Postfix Anleitung · 3 min read · Oct 11, 2025
Virtuelle Benutzer und Domains mit Postfix, Courier und MySQL (CentOS 5.1) - Seite 5
14 Test Postfix
Um zu sehen, ob Postfix bereit für SMTP-AUTH und TLS ist, führen Sie aus
telnet localhost 25Nachdem Sie die Verbindung zu Ihrem Postfix-Mailserver hergestellt haben, geben Sie ein
ehlo localhostWenn Sie die Zeilen sehen
*250-STARTTLS *und
*250-AUTH PLAIN LOGIN *ist alles in Ordnung.
[root@server1 ~]# 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
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.
[root@server1 ~]#Geben Sie ein
quitum zur Shell des Systems zurückzukehren.
15 Datenbank füllen und testen
Um die Datenbank zu füllen, können Sie die MySQL-Shell verwenden:
mysql -u root -p
USE mail;Mindestens müssen Sie 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 achten Sie darauf, dass Sie die ENCRYPT-Syntax im zweiten INSERT-Befehl verwenden, um das Passwort zu verschlüsseln!)
Wenn Sie Einträge in den anderen beiden Tabellen vornehmen möchten, würde das 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-Shell zu verlassen, geben Sie ein
quit;Für die meisten Menschen ist es einfacher, wenn sie eine grafische Benutzeroberfläche für MySQL haben; daher können Sie auch phpMyAdmin verwenden (in diesem Beispiel unter http://192.168.0.100/phpmyadmin/ oder http://server1.example.com/phpmyadmin/), um die mail-Datenbank zu verwalten. Wiederum, wenn Sie einen Benutzer erstellen, stellen Sie sicher, dass Sie die ENCRYPT-Funktion verwenden, um das Passwort zu verschlüsseln:
Ich denke nicht, dass ich die Tabellen domains und users weiter erklären muss.
Die Tabelle forwardings kann Einträge wie die folgenden haben:
| source | destination | |
| [email protected] | [email protected] | Leitet E-Mails für [email protected] an [email protected] weiter |
| @example.com | [email protected] | Erstellt ein Catch-All-Konto für [email protected]. Alle E-Mails an example.com kommen bei [email protected] an, außer denen, die in der Tabelle users existieren (d.h., wenn [email protected] in der Tabelle users existiert, kommen E-Mails an [email protected] trotzdem bei [email protected] an). |
| @example.com | @anotherdomain.tld | Dies leitet alle E-Mails an example.com an denselben Benutzer bei anotherdomain.tld weiter. Z.B. werden E-Mails an [email protected] an [email protected] weitergeleitet. |
| [email protected] | [email protected], [email protected] | Leitet E-Mails für [email protected] an zwei oder mehr E-Mail-Adressen weiter. Alle aufgeführten E-Mail-Adressen unter destination erhalten eine Kopie der E-Mail. |
Die Tabelle transport kann Einträge wie diese haben:
| domain | transport | |
| example.com | : | Liefert E-Mails für example.com lokal. Das ist so, als ob dieser Eintrag in dieser Tabelle überhaupt nicht existieren würde. |
| example.com | smtp:mail.anotherdomain.tld | Liefert alle E-Mails für example.com über smtp an den Server mail.anotherdomain.com. |
| example.com | smtp:mail.anotherdomain.tld:2025 | Liefert alle E-Mails für example.com über smtp an den Server mail.anotherdomain.com, jedoch auf Port 2025, nicht 25, was der Standardport für smtp ist. |
| example.com | smtp:[1.2.3.4]
smtp:[1.2.3.4]:2025
smtp:[mail.anotherdomain.tld] | Die eckigen Klammern verhindern, dass Postfix Nachschlagen des MX-DNS-Eintrags für die Adresse in eckigen Klammern durchführt. Macht Sinn für IP-Adressen. | | .example.com | smtp:mail.anotherdomain.tld | E-Mails für jede Subdomain von example.com werden an mail.anotherdomain.tld geliefert. | | * | smtp:mail.anotherdomain.tld | Alle E-Mails werden an mail.anotherdomain.tld geliefert. | | [email protected] | smtp:mail.anotherdomain.tld | E-Mails für [email protected] werden an mail.anotherdomain.tld geliefert. |
Siehe
man transportfür weitere Details.
Bitte beachten Sie, dass die Reihenfolge der Einträge in der Tabelle transport wichtig ist! Die Einträge werden von oben nach unten abgearbeitet.
Wichtig: Postfix verwendet einen Cache-Mechanismus für die Transports, daher kann es eine Weile dauern, bis Änderungen in der Tabelle transport wirksam werden. Wenn Sie möchten, dass sie sofort wirksam werden, führen Sie aus
postfix reloadnachdem Sie Ihre Änderungen in der Tabelle transport vorgenommen haben.
16 Referenzen
Tutorial: ISP-ähnlicher E-Mail-Dienst mit Debian-Sarge und 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-Passwörter verschlüsselt mit saslauthd: http://www.syscp.de/docs/public/contrib/cryptedmailpws
17 Links
- Postfix MTA: http://www.postfix.org/
- Postfix Quota Patch: http://web.onda.com.br/nadal/
- phpMyAdmin: http://www.phpmyadmin.net/
- CentOS: http://www.centos.org
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.