Ba haɗin SMTP na Indy IOHandler na wakili
Haɗa SOCKS ko HTTP CONNECT zuwa TIdSMTP da kayan IOHandler na sigar Indy daidai, tare da saitunan wasiƙa da wakili dabam.
A cikin Indy, haɗa wakilin zuwa IOHandler ɗin da TIdSMTP ke amfani da shi. Ka riƙe TIdSMTP.Host da Port suna fuskantar sabis ɗin wasiƙa. Sashin wakili na IOHandler yana ba da adireshin mai shiga tsakani kuma yana yin musafaha na wakili a kan wannan haɗin.
Kayan da kake amfani da shi ya dogara da sigar Indy: Indy 9 yana bayar da SocksInfo; Indy 10 yana amfani da TransparentProxy. Duba ɗakin karatu na sassa a cikin manhajar maimakon zaɓar misali bisa sunan fitowar Delphi kawai.
Indy 10 tare da SOCKS5
A ce fom ɗin yana da waɗannan sassa tuni:
Smtp: TIdSMTPMailSocket: TIdIOHandlerStackSocks: TIdSocksInfo
Haɗa su kuma saita su kafin buɗe haɗin 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;
Ƙimar tashoshi misalai ne. Tashar SMTP dole ta dace da sabis ɗin da yanayin TLS da kake son amfani. Tashar SOCKS ta wakilin ce.
Don gwajin SMTP na jama'a da aka halatta inda aka yarda da mai shiga tsakani na jama'a, jerin wakilan SOCKS5 yana bayar da adiresoshin 'yan takara. Tabbatar cewa ɗan takarar yana yarda da ainihin masaukin wasiƙa da tashar, kuma yi amfani da reshen da ba shi da tabbatarwa ta wakili ba tare da adana shaidar wakili na baya ba.
TIdSocksInfo yana farawa da svNoSocks, don haka saita sunan masaukin wakili kawai ba ya kunna shi. Zaɓi sigar SOCKS da ta dace. Idan wakilin yana buƙatar tabbatarwa ta SOCKS5 da sunan mai amfani da kalmar sirri, saita hanyar tabbatarwa tare da shaidar:
Socks.Authentication := saUsernamePassword;
Socks.Username := ProxyUser;
Socks.Password := ProxyPassword;
ProxyUser da ProxyPassword suna wakiltar ƙimar da manhajar ke bayarwa. Waɗannan kayan suna tabbatarwa ga wakilin. Saita asusun SMTP da hanyar tabbatarwarsa daban a cikin abokin ciniki na wasiƙa.
Riƙe IOHandler na TLS da ke akwai
Abokin ciniki na wasiƙa da ke amfani da STARTTLS ko TLS a fakaice yana buƙatar IOHandler ɗinsa mai iya SSL. Kada ka maye gurbin wannan sashin da TIdIOHandlerStack na fili kawai don ƙara wakilin.
A cikin Indy 10 tushen IOHandler na SSL ya fito daga TIdIOHandlerStack kuma yana gado goyon bayan wakilinsa. Don IOHandler na SSL mai dacewa da ke akwai mai suna MailTLS, haɗin yana zama:
Smtp.IOHandler := MailTLS;
MailTLS.TransparentProxy := Socks;
Saitin UseTLS na sashin SMTP har yanzu yana zaɓar yanayin TLS na sabis ɗin wasiƙa. Saita amincewar takardar shaida da tabbatar da sunan masauki a cikin haɗin TLS don smtp.example.net, ba don sunan masaukin wakili ba. Ƙara rami ba ya kafa tabbatar da takardar shaida da kansa.
Amfani da wakilin HTTP CONNECT maimakon
Don Indy 10, yi amfani da sashin TIdConnectThroughHttpProxy, wanda ake samu daga IdConnectThroughHttpProxy. A ce akwai misalin da ke mallakar fom ɗin mai suna HttpTunnel:
HttpTunnel.Host := 'proxy.example.net';
HttpTunnel.Port := 8080;
HttpTunnel.Enabled := True;
MailSocket.TransparentProxy := HttpTunnel;
Idan SMTP yana amfani da MailTLS, sanya HttpTunnel ga TransparentProxy na wannan mai sarrafa maimakon. Manufar wasiƙa ta kasance a kan Smtp.
Wannan sashin yana kafa ramin HTTP CONNECT kuma yana aiwatar da tabbatarwar wakili ta asali ta kayan Username da Password. Wakilin da ke buƙatar wata hanyar tabbatarwa yana buƙatar aiwatarwa mai dacewa; kada ka ɗauka waɗannan kayan biyu suna ba da kowane tsarin tabbatarwa na HTTP.
Wakilin kuma dole ya yarda da CONNECT zuwa ainihin tashar uwar garken wasiƙa. Izinin yin rami zuwa uwar garken yanar gizo a 443 ba ya nufin izinin isa sabis ɗin aikawa a 587 ko uwar garken SMTP a 25.
Haɗin Indy 9
Indy 9 yana amfani da TIdIOHandlerSocket da kayan SocksInfo ɗinsa. Tare da sassan mallakar fom ɗin masu suna Socket9 da Socks9, daidaitaccen haɗin shine:
Smtp.IOHandler := Socket9;
Socket9.SocksInfo := Socks9;
Socks9.Host := 'proxy.example.net';
Socks9.Port := 1080;
Socks9.Version := svSocks5;
Aiwatar da SOCKS ɗinsa tana goyan bayan sigogi 4, 4a da 5. Ba za a iya liƙa tsarin TransparentProxy da sashin HTTP CONNECT na Indy 10 cikin wannan tsohuwar fuska kai tsaye ba.
Babu wata shiga ta wakili ta farko dabam da za a yi da wani abokin ciniki na TCP. Tabbatarwar wakili, kafa rami da musayar SMTP dole su kasance na haɗin da sashin SMTP ke amfani da shi a zahiri. Idan wannan haɗin ya yi daidai, ana iya gano gazawa a tattaunawar wakili, gaisuwar SMTP, TLS ko tabbatarwar wasiƙa maimakon ɗaukar kowane ƙi a matsayin mummunar kalmar sirrin wasiƙa.