
Angenommen, ich möchte, dass Leute E-Mails an meinen Server senden und ich möchte sie alle an verschiedene E-Mail-Adressen weiterleiten. Ich habe beispielsweise folgende Zuordnung:
[email protected] => [email protected]
[email protected] => [email protected]
[email protected] => [email protected]
...
[email protected] => [email protected]
Diese Liste kann sehr groß werden und ich möchte sie alle problemlos weiterleiten können. Außerdem möchte ich Benutzern eine einfache Konfiguration ermöglichen, damit sie die Zuordnung selbst festlegen können (genauso wie Sie die Weiterleitung bei Gmail usw. problemlos einrichten können).
Ich habe derzeit Postfix auf meinem Server, aber es scheint, als müsste ich mit Postfix die Konfigurationsdatei ständig bearbeiten und neu laden, und es klingt nicht skalierbar, wenn ich an eine riesige Liste denke.
Wie kann ich das am besten erreichen? Ich muss nicht unbedingt Postfix verwenden und kann bei Bedarf auch ein völlig anderes System verwenden, das für diesen Zweck geeignet ist.
Antwort1
Postfix unterstützt eine VielzahlNachschlagetabellenund Sie können Datenbank-Lookup-Tabellen ( mysql,pgsql or sqlite
) verwenden, um solche großen Listen zu speichern, und Sie müssen Postfix nicht neu laden, wenn Sie sie verwenden. Angenommen, Sie haben eine Tabelle forwards
in Ihrer Postgres-Datenbank mit den Spalten emailaddress
und forwards
.
emailaddress forwards
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
und Sie können Ihr Postfix so konfigurieren, dass es es verwendet.
#/etc/postfix/main.cf
#... other main.cf contents omitted
virtual_alias_domains = myserver.net
virtual_alias_maps = pgsql:/etc/postfix/pgsql_forwards.cf
#...
und der Inhalt /etc/postfix/pgsql_forwards.cf
sollte ungefähr so lauten:
#/etc/postfix/pgsql_forwards.cf
dbname = emaildb
hosts = db.example.net
user = emailuser
password = somerandompass
query = SELECT forwards FROM forwards where emailaddress='%s';
- Stellen Sie jedoch zunächst sicher, dass alle Nachschlagetabellen mit Ihrem Postfix kompiliert wurden, indem Sie ausführen
postconf -m
. Ich habe viele gesehen, die verwendenmysql
. - Und um Ihren Benutzern das eigenständige Einrichten von Weiterleitungen zu ermöglichen, müssen Sie ihnen eine Webanwendung zur Verfügung stellen, die die von Postfix verwendete Datenbanktabelle aktualisiert.
Hoffentlich hilft das.