Ann an Indy, ceangail am progsaidh ris an IOHandler a chleachdas TIdSMTP. Cùm TIdSMTP.Host agus Port a' dèanamh air an t-seirbheis puist. Bheir co-phàirt progsaidh an IOHandler seòladh an eadar-mheadhanaich agus nì e crathadh-làimhe a' phrogsaidh air an aon cheangal.

Tha am feart a chleachdas tu an urra ri dreach Indy: nochdaidh Indy 9 SocksInfo; cleachdaidh Indy 10 TransparentProxy. Thoir sùil air leabhar-lann nan co-phàirtean san aplacaid seach eisimpleir a thaghadh air ainm deasachaidh Delphi a-mhàin.

Indy 10 le SOCKS5

Canaidh gu bheil na co-phàirtean seo aig an fhoirm mar-thà:

  • Smtp: TIdSMTP
  • MailSocket: TIdIOHandlerStack
  • Socks: TIdSocksInfo

Ceangail is suidhich iad mus fosgail thu an ceangal 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;

'S e eisimpleirean a th' anns na luachan puirt. Feumaidh am port SMTP freagairt don t-seirbheis agus don mhodh TLS a tha thu airson a chleachdadh. Buinidh am port SOCKS don phrogsadh.

Airson deuchainn SMTP poblach ceadaichte far a bheil eadar-mheadhanach poblach ceadaichte, tha an liosta progsaidh SOCKS5 a' tabhann sheòlaidhean tagraidh. Dearbha gu bheil an tagraiche a' ceadachadh an fhìor òstair agus am port puist, agus cleachd am meur gun dearbhadh progsaidh gun a bhith a' gleidheadh fianaise bho phrogsadh na bu thràithe.

Tha TIdSocksInfo a' tòiseachadh le svNoSocks, mar sin chan eil suidheachadh ainm òstair progsaidh na aonar ga ghnìomhachadh. Tagh an dreach SOCKS iomchaidh. Ma dh'iarras am progsadh dearbhadh SOCKS5 le ainm-cleachdaidh/facal-faire, suidhich an dòigh-dearbhaidh a bharrachd air an fhianaise:

Socks.Authentication := saUsernamePassword;
Socks.Username := ProxyUser;
Socks.Password := ProxyPassword;

Tha ProxyUser agus ProxyPassword a' riochdachadh luachan a bheir an aplacaid seachad. Tha na feartan sin a' dearbhadh ris a' phrogsadh. Suidhich a' chunntas SMTP agus an dòigh-dearbhaidh aice air leth sa chliant puist.

A' gleidheadh IOHandler TLS a th' ann

Feumaidh cliant puist a chleachdas STARTTLS no TLS so-thuigsinn an IOHandler SSL-comasach aige. Na cuir a' cho-phàirt sin an àite TIdIOHandlerStack lom dìreach airson am progsadh a chur ris.

Ann an Indy 10 thig bunait IOHandler SSL bho TIdIOHandlerStack agus gabhaidh e a thaic progsaidh mar oighreachd. Airson IOHandler SSL co-chòrdail a th' ann mar-thà air a bheil MailTLS, thig an ceangal:

Smtp.IOHandler := MailTLS;
MailTLS.TransparentProxy := Socks;

Bidh suidheachadh UseTLS na co-phàirt SMTP fhathast a' taghadh modh TLS na seirbheis puist. Suidhich earbsa theisteanais agus dearbhadh ainm òstair anns an aonadh TLS airson smtp.example.net, chan ann airson ainm òstair a' phrogsaidh. Cha stèidhich cur tunail gu fhèin dearbhadh teisteanais.

A' cleachdadh progsadh HTTP CONNECT na àite

Airson Indy 10, cleachd co-phàirt TIdConnectThroughHttpProxy, a tha ri fhaighinn bho IdConnectThroughHttpProxy. A' gabhail ris gu bheil eisimpleir a th' ann mar-thà le seilbh na foirme air a bheil HttpTunnel:

HttpTunnel.Host := 'proxy.example.net';
HttpTunnel.Port := 8080;
HttpTunnel.Enabled := True;
MailSocket.TransparentProxy := HttpTunnel;

Ma chleachdas SMTP MailTLS, sònraich HttpTunnel do TransparentProxy an làimhsiche sin na àite. Fanaidh an t-amas puist air Smtp.

Stèidhichidh a' cho-phàirt seo tunail HTTP CONNECT agus cuiridh e an gnìomh dearbhadh progsaidh Bunasach tro na feartan Username agus Password aige. Feumaidh progsadh a dh'iarras uidheam-dearbhaidh eile cur-an-gnìomh co-chòrdail; na gabh ris gu bheil an dà fheart seo a' solar gach sgeama dearbhaidh HTTP.

Feumaidh am progsadh cuideachd CONNECT a cheadachadh gu fìor phort an fhrithealaiche puist. Chan eil cead tunail gu frithealaichean lìn air 443 a' ciallachadh cead airson seirbheis tagraidh air 587 no frithealaiche SMTP air 25 a ruighinn.

An ceangal Indy 9

Cleachdaidh Indy 9 TIdIOHandlerSocket agus am feart SocksInfo aige. Le co-phàirtean le seilbh na foirme air a bheil Socket9 agus Socks9, 's e an uèirleadh co-ionann:

Smtp.IOHandler := Socket9;
Socket9.SocksInfo := Socks9;
Socks9.Host := 'proxy.example.net';
Socks9.Port := 1080;
Socks9.Version := svSocks5;

Bheir an cur-an-gnìomh SOCKS aige taic do dhreachan 4, 4a agus 5. Chan fhaodar rèiteachadh TransparentProxy agus co-phàirt HTTP CONNECT Indy 10 a thaiceadh gu dìreach a-steach don eadar-aghaidh as sine seo.

Chan eil logadh a-steach progsaidh ro-làimh air leth ann ri dhèanamh le cliant TCP eile. Feumaidh dearbhadh progsaidh, suidheachadh tunail agus iomlaid SMTP a bhith aig a' cheangal a chleachdas a' cho-phàirt SMTP gu fìor. Nuair a tha an uèirleadh sin ceart, faodar fàilligeadh a lorg aig barganachadh progsaidh, aig beannachadh SMTP, aig TLS no aig dearbhadh puist, an àite a bhith a' meas gach diùltadh mar fhacal-faire puist ceàrr.

Artaigilean co-cheangailte