[Perl] Mail::IMAPClientのCRAM-MD5対応について

超メモ。

DovecotでCRAM-MD5対応すると、CAPABILITYすると、以下が返ってきた。


Read: * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS STARTTLS AUTH=CRAM-MD5 AUTH=PLAIN


この時、cpanのページにあるように、$imap->has_capability("CRAM-MD5")をしても、偽が返ってくる。
このため、$imap->has_capability("AUTH=CRAM-MD5");で判定する必要がある。
こういう場合のケースを考えると、この判定文字列はハードコーディングだときついのかな。

あと、ログイン後だとCAPABILITYしてもcram-md5がかえらない事があるので、注意。
その時には、Mail::IMAPClientだとUser、Passwordを設定していると、connectん時にloginしてしまうので、面倒なんだが、connectだけして、CAPABILITYすると、値が返ってくる。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック