1*46439007SCharles.Forsyth# pop3 protocol independent access to an email server. 2*46439007SCharles.Forsyth 3*46439007SCharles.ForsythPop3: module 4*46439007SCharles.Forsyth{ 5*46439007SCharles.Forsyth PATH: con "/dis/lib/pop3.dis"; 6*46439007SCharles.Forsyth 7*46439007SCharles.Forsyth # all functions return status (-ve when error) 8*46439007SCharles.Forsyth 9*46439007SCharles.Forsyth # open a connection with the pop3 server 10*46439007SCharles.Forsyth # requires the email server's name or address or nil if a default server is to be used 11*46439007SCharles.Forsyth # returns (status, errror string) 12*46439007SCharles.Forsyth open: fn(user, password, server: string) : (int, string); 13*46439007SCharles.Forsyth 14*46439007SCharles.Forsyth # stat the user's mailbox 15*46439007SCharles.Forsyth # returns (status, error string, no. messages, total no. bytes) 16*46439007SCharles.Forsyth stat: fn(): (int, string, int, int); 17*46439007SCharles.Forsyth 18*46439007SCharles.Forsyth # list the user's mailbox 19*46439007SCharles.Forsyth # returns (status, error string, list of (message no., bytes in message)) 20*46439007SCharles.Forsyth msglist: fn(): (int, string, list of (int, int)); 21*46439007SCharles.Forsyth 22*46439007SCharles.Forsyth # list as above but return (status, error string, list of message nos.) 23*46439007SCharles.Forsyth msgnolist: fn(): (int, string, list of int); 24*46439007SCharles.Forsyth 25*46439007SCharles.Forsyth # top of a message given it's no. 26*46439007SCharles.Forsyth # returns (status, error string, message top) 27*46439007SCharles.Forsyth top: fn(m: int) : (int, string, string); 28*46439007SCharles.Forsyth 29*46439007SCharles.Forsyth # full text of a message given it's no. 30*46439007SCharles.Forsyth # returns (status, error string, message) 31*46439007SCharles.Forsyth get: fn(m: int) : (int, string, string); 32*46439007SCharles.Forsyth 33*46439007SCharles.Forsyth # delete a message given it's no. 34*46439007SCharles.Forsyth # returns (status, error string) 35*46439007SCharles.Forsyth delete: fn(m: int) : (int, string); 36*46439007SCharles.Forsyth 37*46439007SCharles.Forsyth # close the connection 38*46439007SCharles.Forsyth # returns (status, error string) 39*46439007SCharles.Forsyth close: fn(): (int, string); 40*46439007SCharles.Forsyth}; 41