NBilov
-
Content Count
12 -
Joined
-
Last visited
Posts posted by NBilov
-
-
-
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 ?
-
"
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.
-
It is working now with 587 port
-
On my that server almost everything is extremely old, but i will try this , thanks.
-
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.
-
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; -
I mean delphi xe Sidney. I forgot it's exact digits of version
-
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
-
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.
-
Have i an opportunity to execute a program automatically before run host application and debugging my dll . I use Delphi xe 10.2.4.?
Delphi 11.3 lite. dosent work code completion
in Delphi IDE and APIs
Posted
I am sorry, i have been forgetting its right version number constantly. I will look into it again soon.