結果だけでなく過程も見てください

日々の奮闘を綴る日記です。

Perlを使用してGmailにIMAPで接続する

なぜか色々と時間がかかってしまったので情報共有も兼ねて書いておきます。

こちらの環境は
OS:Windows XP
Perl:ActivePerl 5.14.2
インストールフォルダ:C:\Perl

サーバ上のメール数を取得してみます。

#!/usr/bin/perl
use lib 'C:\Perl\site\lib';
use strict;
use warnings;
use IO::Socket::SSL;
use Mail::IMAPClient;

my $socket = IO::Socket::SSL->new(
	PeerAddr => 'imap.gmail.com',
	PeerPort => 993,
) or die "socket(): $@";

my $client = Mail::IMAPClient->new(
	Socket   => $socket,
	User     => 'ユーザー名(メールアドレス)',
	Password => 'パスワード',
) or die "new(): $@";

if ($client->IsAuthenticated())
{
	$client->select("INBOX");
	my $msgct = $client->unseen_count || '0';
	print "$msgct\n";
}

$client->logout();

IO::Socket::SSLやMail::IMAPClientが見つからない(Can't locate...)
と言われる場合は、ppmでパッケージをインストールします。

[スタート]ボタン→[すべてのプログラム]→「ActivePerl xxx]→[Perl Package Manager]
と選んでppmを起動します。

[View all packages]ボタンを押した後、右の検索テキストボックスに
「IO-Socket」や「Mail-IMAPClient」と入れます。

パッケージが出てきたら、検索テキストボックスの隣の+ボタンを押して
インストールマークをつけたあと、右の方にある右矢印ボタンを押して
インストールします。

インストールはC:\Perl\libか、C:\Perl\site\libにされるはずです。
必要に応じてスクリプト内の「use lib 'C:\Perl\site\lib';」をつけてください。

お目当てのパッケージが出てこない場合はリポジトリを追加してみてください。
一番右にあるギアマークをクリックして追加します。
リポジトリについては以下あたりを参照してください。

http://cpan.uwinnipeg.ca/PPMPackages/10xx/
beribes, trouchelle, unwinnipegあたりを追加してみてください。

プライバシーポリシー お問い合わせ