home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 14 / MA_Cover_14.iso / internet / mail / mail.amirx next >
Encoding:
Text File  |  2000-02-04  |  2.5 KB  |  72 lines

  1. /* Check for new email's with AmIRC! ©2000 Michael Trebilcock */
  2. Options Results
  3. Parse Arg Args
  4.  
  5. /* Configuration */
  6. Login="" /* Your login name */
  7. Pass="" /* Your password */
  8. Mailserver="" /* Mail server address */
  9. Port="110" /* Mail server port number */
  10. /* End Configuration */
  11.  
  12. CR="0D"x
  13.  
  14. Call cEcho("Connecting to mail server...")
  15. IF ~Open(TCP,"tcp:"Mailserver"/"Port,"RW") THEN DO;Call cEcho("Can't connect to "Mailserver"...");Exit;End
  16. Call cEcho("Connected, awaiting welcome message...")
  17. 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
  18. Call cEcho("Sending user ID...")
  19. Call WriteLn(TCP,"USER "Login)
  20. 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
  21. Call cEcho("Sending password...")
  22. Call WriteLn(TCP,"PASS "Pass)
  23. IF Word(ReadLn(TCP),1)~="+OK" THEN DO;Call cEcho("Invalid password...");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
  24. IF Word(Upper(Args),1)="DEL" THEN DO
  25.  i=2
  26.  Num=Word(Args,i)
  27.  DO UNTIL Num=""
  28.   Call WriteLn(TCP,"DELE "Num)
  29.   IF Word(ReadLn(TCP),1)~="+OK" THEN DO;Call cEcho("Couldn't delete email "Num"...");End
  30.   ELSE DO;Call cEcho("Deleted email "Num"...");End
  31.   i=i+1
  32.   Num=Word(Args,i)
  33.  End
  34.  Call cEcho("Disconnecting...")
  35.  Call WriteLn(TCP,"QUIT")
  36.  Call Close(TCP)
  37.  Exit
  38. End
  39. Call cEcho("Getting statistics...")
  40. Call WriteLn(TCP,"STAT")
  41. Output=ReadLn(TCP)
  42. 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
  43. Parse Var Output Ok" "Amount" "Bytes
  44. Bytes=Translate(Bytes,,CR)
  45. IF Amount="0" THEN DO;Call cEcho("You have no new emails...");Call cEcho("Disconnecting...");Call WriteLn(TCP,"QUIT");Call Close(TCP);Exit;End
  46. Call cEcho("You have "Amount" new email(s), "Bytes"bytes total...")
  47.  
  48. IF Upper(Args)="VERBOSE" THEN DO
  49.  i=1
  50.  DO UNTIL i=Amount+1
  51.   Call WriteLn(TCP,"TOP "i" 1")
  52.   DO UNTIL Output="."CR
  53.    Output=ReadLn(TCP)
  54.    IF Word(Output,1)="From:" THEN From=Translate(SubStr(Output,7),,CR)
  55.    IF Word(Output,1)="Subject:" THEN Subject=Translate(SubStr(Output,10),,CR)
  56.   End
  57.   IF From=""|From="FROM" THEN From="<unknown>"
  58.   IF Subject=""|Subject="SUBJECT" THEN Subject="<unknown>"
  59.   Call cEcho(""i". From: "From"  Subject: "Subject)
  60.   i=i+1
  61.  End
  62. End
  63.  
  64. Call cEcho("Disconnecting...")
  65. Call WriteLn(TCP,"QUIT")
  66. Call Close(TCP)
  67. Exit
  68.  
  69. cEcho:
  70. "ECHO P="d2c(27)"b«Mail» "Arg(1)
  71. Return 0
  72.