Entwickler-Ecke
Internet / Netzwerk - SMTP und POP3 über Proxy ?
wisher - Mo 06.03.06 22:29
Titel: SMTP und POP3 über Proxy ?
Hallo,
ich benutze für meinen kleinen MailClient die Indy10 POP3 und SMTP -Komponenten.
Klappt zuhause gut, aber leider klappts in der Firma nicht, weil wir dort
über einen Proxy rausgehen und ich keine direkte Route nach draußen habe.
Gibt's ne Möglichkeit in Indy 10 über einen Proxy die mails abzuholen und zu
senden ?
Gruß
Sascha
digi_c - Di 07.03.06 12:29
Ich glaube nicht, Proxys sind nunmal da um abzuschirmen :(
RFZ - Di 07.03.06 12:39
Proxies sind nicht zum Abschirmen da, sondern prinzipiell zum Cachen von Daten. Man kann damit natürlich auch den Zugriff beschränken.
Generell kann eine Proxy jede TCP Verindung handhaben, dazu müsstest nur ein "CONNECT host:port HTTP/1.0\n\n" an ihn senden, und sofern ihm das nicht verboten wurde, bist du dann mit host:port verbunden und kannst deine Mails senden/abrufen (kannst ja vorher mit Telnet mal testen).
Da ich die Indy komponenten nicht da habe, kann ich aber nicht sagen ob/wie man das direkt damit machen kann - zur Not baust du hald lokal einen Proxy in dein Programm. d.h. deine Indies setzt du dann auf localhost und nimmst einen TCP Client den du zum Proxy verbindest und einen TCP Server der dann zwischen deinen Indies und dem Proxy vermittelt. Ist nicht allzu viel extra aufwand.
greetz RFZ
digi_c - Di 07.03.06 13:34
Ja stimmt schon aber wenn Benutzer nur surfen sollen, wird IMHO meistens ein Proxy genommen.
Laut deinem Beispiel sollte man POP3 über HTTP Tunneln können, ich glaube nicht dass das geht aber ich mag mich irren. Dann hätten sie das doch direkt eingebaut, ähnlich wie bei TFTPClient
RFZ - Di 07.03.06 14:42
Wenn du's nicht glaubst...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| > telnet www-proxy.t-online.de 80 CONNECT pop.gmx.de:110 HTTP/1.0
HTTP/1.1 200 Connection established Server: IBM-PROXY-WTE-US/3.6 Date: Tue, 07 Mar 2006 12:38:29 GMT Connection: close Accept-Ranges: bytes
+OK GMX POP3 StreamProxy ready <7778.1141735108@mp013> QUIT |
tommie-lie - Di 07.03.06 14:52
digi_c hat folgendes geschrieben: |
| Laut deinem Beispiel sollte man POP3 über HTTP Tunneln können, ich glaube nicht dass das geht aber ich mag mich irren. |
Man kann beinahe jedes Protokoll über ein anderes tunneln. du kannst auch FTP über HTTP tunneln. Oder HTTP über SSH. Und POP3 über SSH. Oder IP über IP.
digi_c - Di 07.03.06 16:19
Aha, wieder was gelernt. Hatte vor längerer zeit das mal ebnefalls mit telnet ausprobiert aber das klappte nicht, deshalb dachte ich, dass das nicht geht.
wisher - Di 07.03.06 18:21
Bahnhof :cry:
Würde mir das mal jemand genauer erklären ?
Was hat jetzt Telnet mit meinem Problem zu tun und was genau
muss ich im Vorfeld tun, um mit einem Mailclient der von sich
aus keine Proxyunterstützung hat trotzdem über den Proxy rauszugehen ?
Sorry, komme nicht aus der Systemintegratorschiene.
RFZ - So 12.03.06 23:39
Also, du brauchst in deinem Projekt zusätzlich eine ServerSocket und eine ClientSocket komponente.
Dein Server horcht dann z.B. an Port 9110, dann muss dein Mail-Client auf localhost:9110 eingestellt werden.
Wenn dein Server jetzt diese Verbindung empfängt, muss sich dein Client an den Proxy Verbinden und die Anfrage "CONNECT mailserver:port HTTP/1.0\r\nConnection: Close\r\n\n" senden. Wenn der Client darauf hin ein "Connection Established" bekommt, muss dein Client alle daten 1:1 an den Proxy senden, die dein Mail-Client an deinen Server sendet. Und dein Server muss an deinen Mail-Client die Daten senden, die dein Client vom Proxy empfängt :)
Das ist eigentlich alles - klingt kompliziert, ist es aber nicht.
Statt MailClient <-> MailServer läufts hald jetzt MailClient <-> ServerSocket <-> ClientSocket <-> Proxy <-> MailServer
davidbaumann - Mo 20.03.06 13:51
Bei uns in der Firma ist der Proxy-Befehl connect verboten, d.h. was du vorhast wäre bei uns nicht möglich.
probier es am besten vorher mal über telnet.
David
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!