PROCEDURE send_str(s : INTEGER; l : STRING);
VAR p : CHAR[1000];
p[0]:=l+^M+^J; PutSock(s,p,length(l)+2)
cgiwriteln('> '+l)
ENDPROC
PROCEDURE recv_str(s : INTEGER) : STRING;
VAR p : CHAR[1000];
VAR i : INTEGER;
VAR res : STRING;
nloop(i,GetSock(s,p,1000)-1,res:=res+p[i]);
RETURN res
ENDPROC
PROCEDURE Main;
VAR p : CHAR[1000];
VAR i : INTEGER;
cgiclosebuffer;
cgiwriteln('content-type: text/plain');
cgiwriteln('');
IF i:=OpenSock('mail.tdb-engine.de:25') THEN
cgiwriteln(recv_str(i));
send_str(i,'HELO mail.tdb.de');
cgiwriteln(recv_str(i));
send_str(i,'MAIL FROM:test@tdb-engine.de');
cgiwriteln(recv_str(i));
send_str(i,'RCPT TO:test2@tdb-engine.de');
cgiwriteln(recv_str(i));
send_str(i,'DATA')
cgiwriteln(recv_str(i));
send_str(i,'Das ist ein kleiner Test.');
send_str(i,'Und das ist die zweite Zeile');
send_str(i,'.');
cgiwriteln(recv_str(i));
send_str(i,'QUIT');
cgiwriteln(recv_str(i));
CloseSock(i)
ELSE
cgiwriteln('done.')
END
ENDPROC
|