Geva Indy SMTP-sambandin ein proxy IOHandler
Set SOCKS ella HTTP CONNECT í TIdSMTP við rættu IOHandler-eindum Indy-útgávunnar, við skildum post- og proxy-stillingum.
Í Indy setur tú proxy í IOHandlerina, sum TIdSMTP brúkar. Halt TIdSMTP.Host og Port vend móti posttænastuni. Proxy-parturin í IOHandlerini veitir millumgongdina og ger proxy-handshake á sama sambandi.
Eindin, sum tú brúkar, veldst um Indy-útgávuna: Indy 9 vísir SocksInfo; Indy 10 brúkar TransparentProxy. Kanna partabókasavnið í forritinum í staðin fyri at velja dømi bara eftir navninum á Delphi-útgávuni.
Indy 10 við SOCKS5
Haldið, at formurin longu hevur hesar partar:
Smtp: TIdSMTPMailSocket: TIdIOHandlerStackSocks: TIdSocksInfo
Set og stilla teir, áðrenn tú letur SMTP-sambandið upp:
Smtp.Host := 'smtp.example.net';
Smtp.Port := 587;
Smtp.IOHandler := MailSocket;
Socks.Host := 'proxy.example.net';
Socks.Port := 1080;
Socks.Version := svSocks5;
MailSocket.TransparentProxy := Socks;
Portvirðini eru dømi. SMTP-porturin má passa tænastuna og TLS-háttin, sum tú ætlar at brúka. SOCKS-porturin hoyrir proxynum til.
Fyri eina loyvda almennari SMTP-roynd, har ein almennur millumgangur er loyvdur, bjóðar SOCKS5-proxylistin møgulig bústaðar. Vátta, at valmøguleikin loyvir veruliga postvertin og portin, og brúka greinina uttan proxy-innritan uttan at goyma váttanir frá einum fyrri proxy.
TIdSocksInfo byrjar við svNoSocks, so bert at seta eitt proxy-vertnavn virkjar tað ikki. Vel hóskandi SOCKS-útgávu. Um proxy krevur SOCKS5-brúkaranavn/lykilorð-innritan, stillað bæði innritanarháttin og váttanirnar:
Socks.Authentication := saUsernamePassword;
Socks.Username := ProxyUser;
Socks.Password := ProxyPassword;
ProxyUser og ProxyPassword umboða virði, sum forritið veitir. Hesar eindir innrita seg móti proxynum. Stilla SMTP-kontuna og innritanarhátt hennara serstakt í postkundanum.
At varðveita eina verandi TLS IOHandler
Ein postkundi, sum brúkar STARTTLS ella óbeina TLS, hevur tørv á SSL-førari IOHandler. Skift ikki tí partinum út við einum vanligum TIdIOHandlerStack bara fyri at seta proxy inn.
Í Indy 10 kemur SSL-IOHandler-grundin av TIdIOHandlerStack og arvar proxy-stuðulin. Fyri eina verandi hóskandi SSL IOHandler, nevnd MailTLS, verður sambandið:
Smtp.IOHandler := MailTLS;
MailTLS.TransparentProxy := Socks;
Stillingin UseTLS á SMTP-partinum velur framvegis TLS-hátt posttænastunnar. Stilla skjalagóðkenning og vertnavnsváttan í TLS-samgonguni fyri smtp.example.net, ikki fyri proxy-vertnavnið. At seta eina tunna fastsetur ikki skjalagóðkenning sjálvt.
At brúka ein HTTP CONNECT-proxy í staðin
Fyri Indy 10, brúka ein TIdConnectThroughHttpProxy-part, tøkt úr IdConnectThroughHttpProxy. Við tí fyri treyt, at ein verandi form-eigd eind, nevnd HttpTunnel, er til:
HttpTunnel.Host := 'proxy.example.net';
HttpTunnel.Port := 8080;
HttpTunnel.Enabled := True;
MailSocket.TransparentProxy := HttpTunnel;
Um SMTP brúkar MailTLS, set HttpTunnel á TransparentProxy hjá tí handteraranum í staðin. Postmálið verður verandi á Smtp.
Hesin parturin ger eina HTTP CONNECT-tunnu og setur í verk Basic proxy-innritan gjøgnum Username- og Password-eindirnar. Eitt proxy, sum krevur aðra innritanarhátt, tørvar hóskandi íløgu; halda ikki, at hesar tvær eindirnar veita allar HTTP-innritanarætlanir.
Proxy má eisini loyva CONNECT til veruliga portin á posttænaranum. Loyvi at tunna til vevtenarar á 443 merkir ikki loyvi at náa einari sendingartænastu á 587 ella einum SMTP-tenara á 25.
Indy 9-sambandið
Indy 9 brúkar eina TIdIOHandlerSocket og SocksInfo-eind hennara. Við form-eigdum parti nevndum Socket9 og Socks9 er samsvarandi kopling:
Smtp.IOHandler := Socket9;
Socket9.SocksInfo := Socks9;
Socks9.Host := 'proxy.example.net';
Socks9.Port := 1080;
Socks9.Version := svSocks5;
SOCKS-íløgan hjá tí stuðlar útgávum 4, 4a og 5. Indy 10-uppstillingin við TransparentProxy og HTTP CONNECT-partinum kann ikki bara límast í hesa eldri grænseflatu.
Tað er eingin serstøk fyrireikandi proxy-innritan at gera við einum øðrum TCP-kunda. Proxy-innritan, tunnu-uppseting og SMTP-umsiting má hoyra til sambandið, sum SMTP-parturin veruliga brúkar. Tá ið henda koplingin er rætt, kann ein brestur staðsetjast í proxy-samráðing, SMTP-heilsan, TLS ella post-innritan í staðin fyri at meta hvørja avísan sum eitt ringt postlykilorð.