use Net::IMAP::Simple;
# open a connection to the IMAP server
$server = new Net::IMAP::Simple( 'someserver' );
# login
$server->login( 'someuser', 'somepassword' );
# select the desired folder
$number_of_messages = $server->select( 'somefolder' );
# go through all the messages in the selected folder
foreach $msg ( 1..$number_of_messages ) {
if ( $server->seen( $msg ) {
print "This message has been read before...\n"
}
# get the message, returned as a reference to an array of lines
$lines = $server->get( $msg );
# print it
print @$lines;
# get the message, returned as a temporary file handle
$fh = $server->getfh( $msg );
print <$fh>;
close $fh;
}
# the list of all folders
@folders = $server->mailboxes();
# create a folder
$server->create_mailbox( 'newfolder' );
# rename a folder
$server->rename_mailbox( 'newfolder', 'renamedfolder' );
# delete a folder
$server->delete_mailbox( 'renamedfolder' );
# copy a message to another folder
$server->copy( $self, $msg, 'renamedfolder' );
# close the connection
$server->quit();
This module was only tested under the following servers: