IF Word(ReadLn(TCP),1)~="+OK" THEN DO;Call cEcho(Mailserver "is not a mail server?");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
Call cEcho("Sending user ID...")
Call WriteLn(TCP,"USER "Login)
IF Word(ReadLn(TCP),1)~="+OK" THEN DO;Call cEcho("Invalid user ID...");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
Call cEcho("Sending password...")
Call WriteLn(TCP,"PASS "Pass)
IF Word(ReadLn(TCP),1)~="+OK" THEN DO;Call cEcho("Invalid password...");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
IF Word(Upper(Args),1)="DEL" THEN DO
i=2
Num=Word(Args,i)
DO UNTIL Num=""
Call WriteLn(TCP,"DELE "Num)
IF Word(ReadLn(TCP),1)~="+OK" THEN DO;Call cEcho("Couldn't delete email "Num"...");End
ELSE DO;Call cEcho("Deleted email "Num"...");End
i=i+1
Num=Word(Args,i)
End
Call cEcho("Disconnecting...")
Call WriteLn(TCP,"QUIT")
Call Close(TCP)
Exit
End
Call cEcho("Getting statistics...")
Call WriteLn(TCP,"STAT")
Output=ReadLn(TCP)
IF Word(Output,1)~="+OK" THEN DO;Call cEcho("Unable to get statistics...");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
Parse Var Output Ok" "Amount" "Bytes
Bytes=Translate(Bytes,,CR)
IF Amount="0" THEN DO;Call cEcho("You have no new emails...");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
Call cEcho("You have "Amount" new email(s), "Bytes"bytes total...")
IF Upper(Args)="VERBOSE" THEN DO
i=1
DO UNTIL i=Amount+1
Call WriteLn(TCP,"TOP "i" 1")
DO UNTIL Output="."CR
Output=ReadLn(TCP)
IF Word(Output,1)="From:" THEN From=Translate(SubStr(Output,7),,CR)
IF Word(Output,1)="Subject:" THEN Subject=Translate(SubStr(Output,10),,CR)
End
IF From=""|From="FROM" THEN From="<unknown>"
IF Subject=""|Subject="SUBJECT" THEN Subject="<unknown>"