#!/usr/bin/perl -w # use strict; use encoding 'utf8'; binmode(STDERR, ':raw :encoding(utf8)'); use Mac::Growl; use Encode; use Encode::Guess; use Mail::IMAPClient; use MIME::Base64; use MIME::QuotedPrint; my $account; my $passwd; ($account, $passwd) = @ARGV; my $subject = ''; my $mailgrowl = '未読メール'; Encode::_utf8_off($mailgrowl); my $imap = Mail::IMAPClient->new( Server => 'mail.mac.com', User => $account, Password => $passwd, ) || die 'Can\'t Connect to mail.mac.com'; $imap->select("INBOX"); if (($imap->unseen_count("INBOX") || 0)) { foreach my $msg ($imap->unseen) { my $temp = $imap->subject($msg); $subject = ''; while ($temp =~ m/=\?iso-2022-jp\?([QB])\?([^\s\t]+)\?=?/i) { if ($1 eq 'B') { $subject = $subject . MIME::Base64::decode_base64($2); } else { $subject = $subject . MIME::QuotedPrint::decode_qp($2); } $temp =~ s/=\?iso-2022-jp\?([QB])\?([^\s\t]+)\?=?//i; } if ($subject) { Encode::from_to($subject, "ISO-2022-JP", "UTF8"); Mac::Growl::PostNotification('mailgrowl', 'info', $mailgrowl, $subject, 0); } } } $imap->disconnect;