function GetIP:string;
var
p: PHostEnt;
name: array[0..MAX_PATH-1] of CHAR;
w:wsadata;
begin
wsastartup($101,w);
ZeroMemory(@name, MAX_PATH);
gethostname(name, MAX_PATH);
P := gethostbyname(name);
if p <> NIL then
Result := inet_ntoa(pinaddr(p.h_addr_list^)^)
else
Result := '127.0.0.1';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
tcpclient1.Connect;
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('HELO ['+getip+']');
memo1.Lines.Add('HELO ['+getip+']');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('AUTH LOGIN');
memo1.Lines.Add('AUTH LOGIN');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('di52b3ZhMTU=');
memo1.Lines.Add('di52b3ZhMTU=');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('мой попроль в базе64');
memo1.Lines.Add('опять мой пороль в базе64');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('MAIL FROM:<v.vova15@mail.ru>');
memo1.Lines.Add('MAIL FROM:<v.vova15@mail.ru>');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('RCPT TO:<codemaster@xakep.ru>');
memo1.Lines.Add('RCPT TO:<codemaster@xakep.ru>');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('DATA');
memo1.Lines.Add('DATA');
memo1.Lines.Add(tcpclient1.Receiveln());
tcpclient1.Sendln('Subject: Ýòî òåìà ïèñüìà'#13#10+
'To:
codemaster@xakep.ru '#13#10+
'X-Mailer: X-mailer'#13#10+
'Îòäåëèëè çàãîëîâêè ïóñòîé ñòðîêîé, è òåïåðü ïèøåì òåêñò ïèñüìà...'#13#10 +
'À ÷òîáû çàêîí÷èòü ââîä ïèñüìà, íóæíî íà îòäåëüíîé ñòðîêå ââåñòè òî÷êó.'#13#10+
'.',#13#10'.');
memo1.Lines.Add('Subject: Ýòî òåìà ïèñüìà'#13#10+
'To:
codemaster@xakep.ru '#13#10+
'X-Mailer: X-mailer'#13#10+
'Îòäåëèëè çàãîëîâêè ïóñòîé ñòðîêîé, è òåïåðü ïèøåì òåêñò ïèñüìà...'#13#10+
'À ÷òîáû çàêîí÷èòü ââîä ïèñüìà, íóæíî íà îòäåëüíîé ñòðîêå ââåñòè òî÷êó.'#13#10+
'.');
memo1.Lines.Add(tcpclient1.Receiveln());
end;