Primero creamos un nuevo proyecto
en Delphi y modificamos las propiedades que deseemos cambiar de
nuestra forma.
Agregamos los siguientes controles
- 4 Cajas de texto con sus etiquetas.
- 2 Controles memo.
- 1 Timer.
- 1 Socket
- 1 Boton
En este caso hemos agregado un control
Timer, que va a ser el que se encargue de lanzar todos los camandos
segun la respuesta del servidor.
En el evento OnClick del boton que agregamos agregamos el siguiente
codigo.
procedure TForm1.Button1Click(Sender: TObject);
begin
Skt.Host := EdtServidor.Text;
Skt.Open;
Timer1.Enabled := True;
Contador := 1;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
case contador of
1:
begin
if not Enviado then
begin
Skt.Socket.SendText('helo
' + EdtServidor.Text + crlf);
Enviado := True;
end;
end;
2:
begin
if not enviado then
begin
Skt.Socket.SendText('mail
from:<' + EdtDe.Text + '>' + crlf);
Enviado := True;
end;
end;
3:
begin
if not enviado then
begin
Skt.Socket.SendText('rcpt
to:<' + EdtPara.Text + '>' + crlf);
Enviado := True;
end;
end;
4:
begin
if not enviado then
begin
Skt.Socket.SendText('Data'
+ crlf);
Enviado := True;
end;
end;
5:
begin
if not enviado then
begin
Skt.Socket.SendText('subject:'
+ EdtSubject.Text + crlf);
Skt.Socket.SendText(Memo1.Text
+ '.' + crlf);
Skt.Socket.SendText('quit');
Contador := 0;
Timer1.Enabled :=
False;
Enviado := True;
end;
end;
end;
end;
procedure TForm1.SktRead(Sender: TObject; Socket: TCustomWinSocket);
var
Mensage: String;
begin
Mensage := Socket.ReceiveText;
Enviado := False;
Memo2.Lines.Add(Mensage);
Inc(Contador);
end;
|