+ goto MONITORMAIL;
+} # restart
+
+$SIG{USR1} = \&interrupted;
+$SIG{USR2} = \&restart;
+
+sub unseenMsgs() {
+ $IMAP->select('inbox') or
+ $log->err("Unable to select inbox: " . get_last_error(), 1);
+
+ return map { $_=> 0 } @{$IMAP->search('not', 'seen')};
+} # unseenMsgs
+
+sub Connect2IMAP() {
+ $log->dbug("Connecting to $opts{imap} as $opts{username}");
+
+ # Destroy any old connections
+ undef $IMAP;
+
+ $IMAP = Mail::IMAPTalk->new(
+ Server => $opts{imap},
+ Username => $opts{username},
+ Password => $opts{password},
+ UseSSL => $opts{usessl},
+ UseBlocking => $opts{useblocking},
+ ) or $log->err("Unable to connect to IMAP server $opts{imap}: $@", 1);
+
+ $log->dbug("Connected to $opts{imap} as $opts{username}");