Mailserver - Only Forward und MySQL

  • Thread starter Thread starter counteam
  • Start date Start date
C

counteam

Guest
Hallöchen :)

Ich suche eine ganz einfache Geschichte, die es ermöglicht E-Mails zu forwarden.

Der Mailserver soll nur folgende Funktionen unterstützen:

- Mail-Forwarding
Die SRC & DEST sollen über MySQL verwaltet werden können. Wenn die E-Mail nicht eingetragen ist, soll diese (wie es ja eigendlich üblich ist) rejected werden.

- Mail-Fetching
Ich möchte eine bestimmte E-Mail Adresse ansteuern. Wenn beispielsweise eine E-Mail an test1@domain.com geschrieben wird, wird diese normal an der eingetragene E-Mail in der MySQL Table forwarded. Wenn nun aber eine E-Mail an system@domain.com geschrieben wird, soll diese an einem Script "weitergeleitet" werden. Ich möchte (meinetwegen über PHP-CLI) die Mail dann auslesen um dann diese Daten weiterzuverarbeiten...

Kann mir jemand helfen und mir sagen, was ich für meine Bedürfnisse verwenden kann?

Es wird kein POP3/IMAP gebraucht!
 
OK, habe nun postfix genommen.
Einfach zwei weitere Felder in der Nutzertabelle hinzugefügt und mit virtual-aliases gearbeitet.

Wen es interessiert was ich vor hab/hatte, hier die Lösung:

In einer Community existieren Nutzer. Diese können Forwarding-Mails nutzen/aktivieren um dann Nutzername@domain.com als FWD-Mail zu nutzen. Sprich, alle Mails werden intern an deren E-Mail Adresse gesendet.

So sieht nun (verkürzt) die User-Table aus:
id.........username.........password.........email_address.....email_forward
1.........MeinNickname....MD5(testpw)....jack@web.de......1

Und so die MySQL-Config der Virtual-Aliases:
user=datenbanknutzer
password=datenbankpasswort
dbname=community
query=SELECT `email_address` FROM `usernames` WHERE `username`=REPLACE('%s', '@domain.com', '') AND `email_forward`='1' LIMIT 1

Wenn email_forward auf 1 gesetzt ist (also Aktiv), so wird die E-Mail Adresse des jeweiligen Nutzers aus der Datenbank gesucht. Da neben dem Nutzernamen aber auch @domain.com übergeben wird, habe ich einfach dies im Statement/Query replaced.

Jetzt habe ich nur noch ein Problem:
ich möchte, dass postmaster@domain.com & root@domain.com an einer anderen E-Mail Adresse weitergeleitet werden. Also nehme ich die normalen Aliases:

Sollte ja so eigendlich gehen, oder? Habe die aliases.db auch aktualisiert, es erscheint in der Log aber, dass die User nicht existieren. testphp@domain.com soll später durch ein PHP-Script weiterbehandelt werden.
 
Hallo,

die Forwarding-Geschichte ist viel zu kompliziert gedacht.
Das hättest du auch deutlich einfacher haben können.

Sollte ja so eigendlich gehen, oder? Habe die aliases.db auch aktualisiert, es erscheint in der Log aber, dass die User nicht existieren. testphp@domain.com soll später durch ein PHP-Script weiterbehandelt werden.

postconf -n wäre hilfreich.
Dazu wie immer die Auszüge aus mail.log


LG
 
Back
Top