Einrichten eines automatisierten E-Mail-Weiterleitungssystems für eine große Anzahl von E-Mail-Konten

Einrichten eines automatisierten E-Mail-Weiterleitungssystems für eine große Anzahl von E-Mail-Konten

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 forwardsin Ihrer Postgres-Datenbank mit den Spalten emailaddressund 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.cfsollte 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 verwenden mysql.
  • 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.

verwandte Informationen