IMAP: Reverse Proxy?

t0mcat1978

New Member
Hallo zusammen,

folgende Situation:

in einem lokalem Netz existieren zwei komplett unterschiedliche Mailserver für komplett unterschiedliche und voneinander unabhängige Maildomains.
Nach "außen" gibt es nur eine einzige öffentlich IP.

Nun soll der IMAP Zugriff von außen über diese eine öffentlich IP, jedoch auf beide Mail Server ermöglicht werden.
Dabei soll per PortForwarding auch nur der Standard IMAP Port 143 weiter geleitet werden, was ja natürlich nur zu einem einzigen Server im lokalen Netz geht. Das bedeutet, dieser eine Server muß die IMAP Anfragen an den richtigen Mailserver im lokalen Netz weiterleiten, je nach Maildomain.
Wie könnte man so etwas realisieren? Ich stelle mir etwas ähnliches für IMAP vor, wie die Reverse Proxy Funktionaliät eines Apache ("ProxyPass" / "ProxyPassReverse") bei HTTP.

Ist so etwas überhaupt realisierbar?

Danke schon mal für jeden Tip!
T0mc@
 
Kurz gesagt: Ja. Eine einfache Google-Suche nach "imap proxy" findet zahlreiche Treffer wie z.B. perdition. Sofern du schon mit Dovecot vertraut bist, kannst auch diesen als Proxy einsetzen.
 
Kurz gesagt: Ja. Eine einfache Google-Suche nach "imap proxy" findet zahlreiche Treffer wie z.B. perdition. Sofern du schon mit Dovecot vertraut bist, kannst auch diesen als Proxy einsetzen.

Hi Danton,

vielen Dank für den Hinweis, mit Dovecot hatte ich bisher noch nie zu tun, aber per Google hab ich vorher auch schon dieverse Beispielkonfigs gefunden. Die habe ich aber immer so verstanden, dass Dovecot in dem Fall dann nur ein "dummer" Durchlauferhitzer ist und quasi als Lastverteiler einfach nur die Anfragen zu den verschiedenen Backends weiter leitet. Ich konnte bisher kein Beispiel der Art finden:

"IMAP von max.mustermann@domain1.de" => Immer nach Server 1.2.3.4"
"IMAP von test.testmann@domain2.de" => Immer nach Server 5.6.7.8

Mir fehlte bei den ganzen Beispielen immer irgendwo die Stelle, wo genau so eine Zuordnung gemacht wird, es wurde Dovecot immer nur mitgeteilt, welche anderen Backend Server noch existieren, aber nicht, wann er welchen ansprechen soll.

VIele Grüße
T0mc@
 
Nginx könntest Du dafür auch verwenden, der spricht richtig konfiguriert auch IMAP/POP3/SMTP.


MfG Christian

Hi Christian,

wäre mit NGINX denn auch eine solche feste Zuordnung MailAdresse oder MailDomain => BackendServer möglich? Und wenn ja, wie? Oder spielt NGINX dann auch nur RoundRobin mäßig Lastverteiler...

Viele Grüße
T0mc@
 
Das läuft bei Nginx alles über den Auth-Server, den Du selbst bereitstellen musst. Dort kannst Du quasi alles selbst programmieren, wie es sein soll. Das kann im einfachsten Fall ein PHP/Perl/usw. Script sein, das über einen internen HTTP-vHost erreichbar ist. Fertig von der Stange gibt es da meines Wissens aber nichts, da das ja sehr vom eigenen Setup abhängt. Da musst Du schon ein paar Zeilen Code selbst schreiben.

Dovecot sollte das afaik aber auch beherrschen. afaik muss man das über die Datenbank als Feld zurückgeben. Das habe ich aber noch nie verwendet, ist also auch nur rein theoretisches Wissen.


MfG Christian
 
Last edited by a moderator:
Back
Top