Public.Protocols.POP

[ Start > PikeModules > Module > Public.Protocols.POP ] [ Edit this Page | Show Page Versions | Show Raw Source ]


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