1. Help with my e-mail project
- Posted by Jeffrey Fielding <JJProg at CYBERBURY.NET> Jul 22, 1998
- 452 views
I am having trouble debugging my POP.e file. I would greatly appreciate any help. -- error = POPConnect(server, username, password) -- POPDisconnect() -- sequence = POPRetrieveMessages() -- error = POPDelete(integer msg) -- error = POPRetrieveHeader(integer msg) include eusock\winsock.ew constant TRACE_ON = 1 constant errBadUsername = "Bad user name" constant errBadPassword = "Bad password" integer response object errorRetn object data integer client function readLine() sequence l l = {} while 1 do data = WsockReadData(client,1) if sequence(data) then if TRACE_ON then puts(1, data) end if l = l & data if length(l) > 1 then if l[length(l)] = 10 and l[length(l)-1] = 13 then return l[1..length(l)-2] end if end if end if end while return l end function procedure writeLine(sequence s) if TRACE_ON then puts(1, s) end if if WsockSendData(client,s & {13,10}) then end if end procedure global function POPConnect(sequence server, sequence username, sequence password) errorRetn = WsockInit() if errorRetn != 0 then return errorRetn end if client = WsockCallSocket(server,110) if client = SOCKET_ERROR then errorRetn = WsockRelease() return client end if data = readLine() writeLine("USER " & username) data = readLine() for i = 1 to 3 do if find("+OK",data) then data = {} exit else writeLine("USER " & username) end if data = readLine() end for if find("-ERR",data) then writeLine("QUIT") WsockCloseSocket(client) errorRetn = WsockRelease() return errBadUsername end if writeLine("PASS " & password) data = readLine() for i = 1 to 3 do if find("+OK",data) then data = {} exit else writeLine("PASS " & username) end if data = readLine() end for if find("-ERR",data) then writeLine("QUIT") WsockCloseSocket(client) errorRetn = WsockRelease() return errBadPassword end if return 0 end function socketTrace = 1 errorRetn = POPConnect("cyberbury.net","JJProg","vb40032") if sequence(errorRetn) then puts(1, errorRetn) end if WsockCloseSocket(client) errorRetn = WsockRelease()