#!/usr/bin/perl use strict; use warnings; use Mail::IMAPClient; use IO::Socket::SSL; # Connect to the IMAP server via SSL and get rid of server greeting message my $socket = IO::Socket::SSL->new( PeerAddr => 'imap.gmail.com', PeerPort => 993, ) or die "socket(): $@"; my $greeting = <$socket>; my ($id, $answer) = split /\s+/, $greeting; die "problems logging in: $greeting" if $answer ne 'OK'; # Build up a client attached to the SSL socket and login my $client = Mail::IMAPClient->new( Socket => $socket, User => 'youraccount', Password => 'yourpass', ) or die "new(): $@"; $client->State(Mail::IMAPClient::Connected()); $client->login() or die 'login(): ' . $client->LastError(); # Do something just to see that it's all ok print "I'm authenticated\n" if $client->IsAuthenticated(); my @folders = $client->folders(); print join("\n* ", 'Folders:', @folders), "\n"; # Say bye $client->logout();