BLOGTIMES
2018/07/15

IMAP over SSL/TLS のデバッグを行うスクリプト

  perl  systemmanagemant 
このエントリーをはてなブックマークに追加

SMTP Auth /w STARTSSL のデバッグを行うスクリプトを書いたので、これと対になる IMAPs に対するデバッグスクリプトも作ってみました。

こちらは Mail::IMAPClient というライブラリを使っているので、以下のような感じであらかじめモジュールをインストールしておく必要があります。

cpanm Mail::IMAPClient

書いたスクリプトは以下のような感じ。

imapsLoginDebug.pl

#!/usr/bin/env perl use Mail::IMAPClient; use Data::Dumper; use warnings; use strict; my ($server, $port, $user, $pass) = @ARGV; my $imap = Mail::IMAPClient->new( Server => $server, User => $user, Password => $pass, Authmechanism => 'LOGIN', Ssl => 1, Uid => 1, Debug => 1, Showcredentials => 1, ) or die "ERROR: $@"; print "Login OK.\n"; my $features = $imap->capability; $imap->logout or die "ERROR: Logout ", $imap->LastError, "\n";

コマンドラインの引数として、サーバ名、ポート番号、ユーザー名、パスワードの4つを取ります。
# ただ、ポート番号は使っていないので無視されます。

実際の動作としては以下のような感じでしょうか。
IMAP はちょっとプロトコルが複雑なので、手動だと操作がちょっと難しいんですよね。

perl imapsLoginDebug.pl smtp.office365.com 0 user@example.jp 'password' Started at Sun Jul 15 21:37:17 2018 Using Mail::IMAPClient version 3.39 on perl 5.028000 Connecting with IO::Socket::SSL PeerAddr smtp.office365.com PeerPort 993 Proto tcp Timeout 600 Debug 1 Connected to smtp.office365.com Read: * OK The Microsoft Exchange IMAP4 service is ready. [VABZAEEAUABSADAAMQBDAEEAMAAxADUANQAuAGoAcABuAHAAcgBkADAAMQAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0A] Sending: 1 LOGIN user@example.jp "password" Sent 45 bytes Read: 1 OK LOGIN completed. Login OK. Sending: 2 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS MOVE ID UNSELECT CLIENTACCESSRULES CLIENTNETWORKPRESENCELOCATION BACKENDAUTHENTICATE CHILDREN IDLE NAMESPACE LITERAL+ 2 OK CAPABILITY completed. Sending: 3 LOGOUT Sent 10 bytes Read: * BYE Microsoft Exchange Server IMAP4 server signing off. 3 OK LOGOUT completed.

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10301
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン