Public.Protocols.POP
Example usage: array(mapping) options = ({ ([ "short":"u","long":"user" ]), ([ "short":"p","long":"password" ]), ([ "short":"s","long":"server"]), ([ "short":"t","long":"to"]) ([ "short":"f","long":"from"]) });int main(int argc, array(string) argv) { foreach(options, mapping opt) { config += ([opt->long: Getopt.find_option(argv, opt->short,opt->long,"","")]); } mapping messagelist=([]); if(catch(popconnection = Public.Protocols.POP.Client(config->server))) { write("Can't connect to POP server %s.n",config->server); return 1; } if(popconnection->auth_plain(config->user,config->password)) { write("Authentication failed.n"); return 1; } if(catch(messagelist = popconnection->list())) { write("Connection Failed.n"); return 1; } foreach(indices(messagelist), int messageid) { if(catch(content = popconnection->retr(messageid))) { write("Can't retrieve message.n"); return -1; } object smtpclient = Public.Protocols.SMTP.Client("localhost"); /* The message can also be mime decoded, to guess the from address */ if(!catch(smtpclient->send_message(config->from,({config->to}),message->content[..]*""))) { catch(popconnection->dele(workermessage)) } } popconnection->quit(); return 0; } Powered by PikeWiki2 |
|||
gotpike.org | Copyright © 2004 - 2009 | Pike is a trademark of Department of Computer and Information Science, Linköping University |