Tabhair IOHandler seachfhreastalaí do nasc SMTP Indy
Ceangail SOCKS nó HTTP CONNECT le TIdSMTP agus úsáid á baint as airíonna IOHandler an leagain Indy cheart, le socruithe ríomhphoist agus seachfhreastalaí ar leithligh.
In Indy, ceangail an seachfhreastalaí leis an IOHandler a úsáideann TIdSMTP. Coinnigh TIdSMTP.Host agus Port dírithe ar an tseirbhís ríomhphoist. Soláthraíonn comhpháirt seachfhreastalaí an IOHandler seoladh an idirghabhálaí agus déanann sé croitheadh láimhe an tseachfhreastalaí ar an nasc céanna.
Braitheann an airí a úsáideann tú ar leagan Indy: nochtann Indy 9 SocksInfo; úsáideann Indy 10 TransparentProxy. Seiceáil leabharlann na gcomhpháirteanna san fheidhmchlár seachas sampla a roghnú de réir ainm eisiúna Delphi amháin.
Indy 10 le SOCKS5
Cuir i gcás go bhfuil na comhpháirteanna seo ag an bhfoirm cheana:
Smtp: TIdSMTPMailSocket: TIdIOHandlerStackSocks: TIdSocksInfo
Ceangail agus cumraigh iad sula n-osclaíonn tú an nasc SMTP:
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;
Is samplaí iad na luachanna port. Caithfidh an port SMTP teacht leis an tseirbhís agus leis an mód TLS a bhfuil tú chun a úsáid. Baineann an port SOCKS leis an seachfhreastalaí.
Le haghaidh tástála SMTP poiblí ceadaithe ina gceadaítear idirghabhálaí poiblí, tairgeann an liosta seachfhreastalaithe SOCKS5 seoltaí iarrthacha. Deimhnigh go gceadaíonn an t-iarrthóir an t-óstach agus an port ríomhphoist iarbhír, agus úsáid an brainse gan fíordheimhniú seachfhreastalaí gan dintiúirí ó sheachfhreastalaí níos luaithe a choinneáil.
Tosaíonn TIdSocksInfo le svNoSocks, mar sin ní ghníomhachtaíonn sé ach ainm óstaigh seachfhreastalaí a shocrú. Roghnaigh an leagan SOCKS cuí. Má éilíonn an seachfhreastalaí fíordheimhniú SOCKS5 le hainm úsáideora agus focal faire, cumraigh an modh fíordheimhnithe chomh maith leis na dintiúirí:
Socks.Authentication := saUsernamePassword;
Socks.Username := ProxyUser;
Socks.Password := ProxyPassword;
Seasann ProxyUser agus ProxyPassword do luachanna a sholáthraíonn an feidhmchlár. Fíordheimhníonn na hairíonna seo leis an seachfhreastalaí. Cumraigh an cuntas SMTP agus a mhodh fíordheimhnithe ar leithligh sa chliant ríomhphoist.
IOHandler TLS atá ann cheana a choinneáil
Teastaíonn a IOHandler SSL-chumasach ó chliant ríomhphoist a úsáideann STARTTLS nó TLS intuigthe. Ná cuir an chomhpháirt sin in ionad TIdIOHandlerStack simplí ach chun an seachfhreastalaí a chur leis.
In Indy 10 síolraíonn bunús IOHandler SSL ó TIdIOHandlerStack agus faigheann sé a thacaíocht seachfhreastalaí le hoidhreacht. Le haghaidh IOHandler SSL comhoiriúnach atá ann cheana darb ainm MailTLS, déantar an nasc:
Smtp.IOHandler := MailTLS;
MailTLS.TransparentProxy := Socks;
Roghnaíonn socrú UseTLS na comhpháirte SMTP mód TLS na seirbhíse ríomhphoist fós. Cumraigh muinín teastais agus bailíochtú ainm óstaigh san chomhtháthú TLS do smtp.example.net, ní do ainm óstaigh an tseachfhreastalaí. Ní shocraíonn cur le tollán bailíochtú teastais ann féin.
Seachfhreastalaí HTTP CONNECT a úsáid ina ionad
Le haghaidh Indy 10, úsáid comhpháirt TIdConnectThroughHttpProxy, atá ar fáil ó IdConnectThroughHttpProxy. Ag glacadh le cás atá ann cheana faoi úinéireacht na foirme darb ainm HttpTunnel:
HttpTunnel.Host := 'proxy.example.net';
HttpTunnel.Port := 8080;
HttpTunnel.Enabled := True;
MailSocket.TransparentProxy := HttpTunnel;
Má úsáideann SMTP MailTLS, sanntar HttpTunnel do TransparentProxy an láimhseálaí sin ina ionad. Fanann an sprioc ríomhphoist ar Smtp.
Bunaíonn an chomhpháirt seo tollán HTTP CONNECT agus cuireann sé fíordheimhniú seachfhreastalaí Bunúsach i bhfeidhm trína airíonna Username agus Password. Teastaíonn cur i bhfeidhm comhoiriúnach ó sheachfhreastalaí a éilíonn meicníocht fíordheimhnithe eile; ná glac leis go soláthraíonn an dá airí seo gach scéim fíordheimhnithe HTTP.
Caithfidh an seachfhreastalaí CONNECT a cheadú freisin chuig port iarbhír an fhreastalaí ríomhphoist. Ní hionann cead chun tollán a dhéanamh chuig freastalaithe gréasáin ar 443 agus cead chun seirbhís aighneachta ar 587 nó freastalaí SMTP ar 25 a bhaint amach.
Nasc Indy 9
Úsáideann Indy 9 TIdIOHandlerSocket agus a airí SocksInfo. Le comhpháirteanna faoi úinéireacht na foirme darb ainm Socket9 agus Socks9, is é an sreangú coibhéiseach:
Smtp.IOHandler := Socket9;
Socket9.SocksInfo := Socks9;
Socks9.Host := 'proxy.example.net';
Socks9.Port := 1080;
Socks9.Version := svSocks5;
Tacaíonn a chur i bhfeidhm SOCKS le leaganacha 4, 4a agus 5. Ní féidir leagan amach TransparentProxy agus comhpháirt HTTP CONNECT Indy 10 a ghreamú go díreach isteach sa chomhéadan níos sine seo.
Níl aon logáil isteach seachfhreastalaí réamhriachtanach ar leith le déanamh le cliant TCP eile. Caithfidh fíordheimhniú seachfhreastalaí, socrú tolláin agus malartú SMTP a bheith ag an nasc a úsáideann an chomhpháirt SMTP i ndáiríre. Nuair a bhíonn an sreangú sin ceart, is féidir locht a aimsiú ag idirbheartaíocht seachfhreastalaí, ag beannacht SMTP, ag TLS nó ag fíordheimhniú ríomhphoist, seach gach diúltú a mheas mar phasfhocal ríomhphoist mícheart.