http://www.perlmonks.org?node_id=196882


in reply to Getting Net::POP3 to grab mail then forward it on.

As Kanji suggests, use Net::SMTP. I used the following code and it worked for the three messages I had in my pop3 account but I haven't extensively tested it:
# ... use Net::SMTP; my $smtp = Net::SMTP->new(Debug => 1, # other stuff ); # ... for $msg_id (keys(%$Messages)) { print "Retrieving Msg: $msg_id\n"; my $MsgContent = $pop3->get($msg_id); # Here's where I'd like to forward it on.. $smtp->mail($resentby); $smtp->to($target); $smtp->data(); for (@$MsgContent) { $smtp->datasend($_); } $smtp->dataend(); } $smtp->quit;
The debug mode will help pinpoint problems. If you get a "broken pipe" message, then one of your supplied arguments ($smtp->mail or $smtp->to) is most likely the culprit.

--Jim