# Simple script to connect e.g. to the mail.php script deployed on a web server # # @Requires: 1.1 RC2 # @Version: 1.1 sub getInfo local(info) info.name = "simple" info.authors[0] = "Martin Vlcek " info.version = "1.1" info.updateService = "" info.documentationLink = "" info.options["scripturl"].order = 1 info.options["scripturl"].value = "" info.options["scripturl"].label = "Script URL" info.options["scripturl"].description = "Enter the URL to the php script, e.g. http://www.myserver.com/mail.php" info.options["popservers"].order = 2 info.options["popservers"].value = "" info.options["popservers"].label = "POP servers" info.options["popservers"].description = "The POP servers you want to connect to (separated by ,), e.g. pop.myserver.com" info.options["delay"].order = 3 info.options["delay"].value = 1000 info.options["delay"].label = "Delay" info.options["delay"].description = "The delay between requests in ms" #--- german texts info.options["scripturl"].label = "Script-URL" info.options["scripturl"].description = "Die URL des PHP-Scripts, z.B. http://www.myserver.com/mail.php" info.options["popservers"].de.label = "POP-Server" info.options["popservers"].de.description = "Die POP-Server, von denen Nachrichten abzuholen sind (getrennt durch ,), z.B. pop.myserver.co" info.options["delay"].label = "Verzögerung" info.options["delay"].description = "Die Verzögerung zwischen Requests in ms" return info end sub getExtensions local(popservers,popserver,extensions) extensions = list() popservers = split(info.options["popservers"].value, "\s*,\s*") foreach(popservers,popserver) extensions[size(extensions)] = "@" & popserver end return extensions end sub loginForReceive(username,password) local(found,login,server,params,status,page,msgspattern,numfound) #--- sizes and dates seem to be independent of the language size.locale = "en" size.unit = map("B",1,"kB",1024,"MB",1024*1024) #--- log in scripturl = info.options["scripturl"].value found,login,server = match(username,"(.*)@([^@]*)") login = replaceall(login,"\.AT\.","@") params["server"] = server params["username"] = login params["password"] = password status,page = post(scripturl & "?action=login",params) returnif(find(page,"mail.php\?action=login"),false) msgspattern="]*>(\d+)(B|kB|MB)" numfound,msgs[].link,msgs[].id,msgs[].size.value,msgs[].size.unit = matchall(page,msgspattern) return true end sub receive(msg) sleep(info.options["delay"].value) msg.raw.link = scripturl & "?action=showraw&uid=" & msg.id return msg end sub delete(msgs) sleep(info.options["delay"].value) local(i,msg,status,page) i = 1 foreach(msgs,msg) params["uid#" & i] = msg.id i = i+1 end status,page = post(scripturl & "?action=delete",params) return true end sub loginForSend(username,password) warning("Sending not yet supported!") return false end sub send(msg) warning("Sending not yet supported!") return false end sub logout local(status,page) status,page = get(scripturl & "?action=logout") return true end