Jump to content

NBilov

Members
  • Content Count

    12
  • Joined

  • Last visited

Everything posted by NBilov

  1. I use delphi 11.3 Alexandria, lite. But there unlike previous versions i worked with (Delphi 2010, Delphi 10.4.2), dosent work code completion. When I am typing i need to press ctrl + space everytime I need a list of variants. Maybe i name this feature improperly, probably it names "auto invoke". I tried to set a parameter somewhere in tools- options -language . But it didn't change this behavior. And one more disadvantage in this new version. In this list of variants code templates (for, class ... etc.) are under everything other ( functions, variables etc .) . Can i change this sorting order too ?
  2. I am sorry, i have been forgetting its right version number constantly. I will look into it again soon.
  3. I have windows 7 . My program sended mail by smtp , with ssl encoding. It worked without any problems on Delphi 2010 , when the same code was compiled on Delphi 10.4.2 it started to raise error " SSL negotiation failed." I need to send from @yandex.ru mail where ssl encoding is obligatory. How can i make such sending on this operation system and compiled with this version of Delphi ? My code: procedure TfmMain.buSimpSendClick(Sender: TObject); var IdSMTP1: TIdSMTP; idMessage1: TIdMessage; idAttach: TidAttachment; idText1: TidText; msgParts: TidMessageParts; DT:TDateTime; IdSSLIOHandlerSocketOpenSSL1:TIdSSLIOHandlerSocketOpenSSL; MailHost,EmpPsw,EmpUser: string; EmPort: Integer; EmpEmail: string; EmpName: string; EmailTo: string; I: Integer; wassent: Boolean; ini: TIniFile; begin EmPort := 587; EmailTo := ''; ini := Tinifile.Create(ChangeFileExt(paramStr(0),'.ini')) ; try MailHost := ini.ReadString('C','MailHost',''); EmpPsw := ini.ReadString('C','EmpPsw',''); EmpUser := ini.ReadString( 'C','EmpUser',''); EmPort := ini.ReadInteger('C','EmPort',0); EmailTo := ini.ReadString('C','EmailTo',''); finally ini.Free; end; memo1.Text := ''; Edit1.Text := 'MailHost='+MailHost+','+'EmpPsw='+EmpPsw+','+'EmpUser='+EmpUser+','+'EmPort='+IntToStr(EmPort)+','+'EmailTo='+EmailTo ; EmpName := empemail;//(nil); wassent := True and false;//(nil); IdSMTP1 := TIdSMTP.Create(nil) ; try try IdSMTP1.Host:= MailHost; IdSMTP1.Password:= EmpPsw; IdSMTP1.Username:= EmpUser; IdSSLIOHandlerSocketOpenSSL1 := TIdSSLIOHandlerSocketOpenSSL.Create(IdSMTP1); IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1; IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned; IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth := 0; IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1; if EmPort>0 then IdSMTP1.Port := EmPort else IdSMTP1.Port := 465; IdSMTP1.UseTLS := utUseExplicitTLS; idMessage1 := TIdMessage.Create(IdSMTP1); idMessage1.OnInitializeISO := TCL.LInitializeISO; idMessage1.From.Address := EmpEmail; idMessage1.From.Name := EmpName; idMessage1.Subject := 'EmSubject'+DateTimeToStr(now);//'Письмо с картинкой AComp'+FormatDateTime('dd.mm.yyyy hh:mm:ss',Now); idMessage1.CharSet := 'Windows-1251'; idMessage1.ContentTransferEncoding := '8bit'; msgParts := idMessage1.MessageParts; try // Load slBody with your HTML text... idText1 := TidText.Create(msgParts);//, slBody); idText1.ContentType := 'text/html'; idText1.CharSet := 'Windows-1251'; idText1.ContentTransfer := '8bit'; //if FileExists(EmBodyFileName) then idText1.Body.Text := ' (EmailBody)'+ParamStr(0); idMessage1.Recipients.EMailAddresses := EmailTo; idSMTP1.Connect; idSMTP1.Send(idMessage1); ShowMessage('Sent ok,''EmPort='+IntToStr(EmPort)); wassent := True; finally if idSMTP1.Connected then idSMTP1.Disconnect; end; except on E: Exception do Memo1.text := Memo1.text + #13#10 + 'EmPort='+IntToStr(EmPort)+#13#10+ E.Message; end; finally IdSMTP1.Free; self.caption := TimeToStr(now); end; end;
  4. " IdSMTP1.Connect; IdSMTP1.Authenticate; if IdSMTP1.DidAuthenticate then begin IdSMTP1.Send(IdMessage1); end; " Is this better than my previous " idSMTP1.Connect; idSMTP1.Send(idMessage1);" With 587 port too ? Old variant was working being compiled on Delphi 2010 since 2016 with quite large volumes without much trouble.
  5. It is working now with 587 port
  6. On my that server almost everything is extremely old, but i will try this , thanks.
  7. Thanks a lot. I used this link https://github.com/IndySockets/OpenSSL-Binaries , actually this item Archive/Experimental/openssl-0.9.8o-i386-win32-fips-1.2.zip from its list and my program started to send letters on my windows 7 server when I put this two dll next to it.
  8. Have i an opportunity to execute a program automatically before run host application and debugging my dll . I use Delphi xe 10.2.4.?
  9. I mean delphi xe Sidney. I forgot it's exact digits of version
  10. When I run a cmd file in delphi by shellexecute method it raises black cmd window during execution. How can I execute it in ordinary vcl windows application invisibly without this window.
  11. In this cmd files I almost never use any console programs. Only program with datamodule , which executes a task and closes. Or batch scripts - mostly file operations and git commands
×