#:g1: cl-popの紹介

Posted 2014-06-02 08:00:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の153日目です。

cl-popとはなにか

 cl-popは、

パッケージ情報

パッケージ名cl-pop
Quicklisp
CLiKihttp://cliki.net/cl-pop
Quickdocshttp://quickdocs.org/cl-pop
CL Test Grid: ビルド状況cl-pop | CL Test Grid

インストール方法

(ql:quickload :cl-pop)

試してみる

 どんな関数があるかは、Quickdocsで確認できます。

 cl-pop:with-pop-connection という便利な構文があるので、これを利用してみています。
メールのヘッダと本文がS式になって返ってくるところがポイント高いですね。

(cl-pop:with-pop-connection (conn :host "pop.example.com"
                                  :username "g000001@example.com"
                                  :password "pA5sw0rD")
  (values (cl-pop:message-count conn)
          (cl-pop:send-pop-stat conn)
          (cl-pop:send-pop-list conn)
          (cl-pop:retrieve-pop-message conn 1)))
;=>  1
;    (1 1548)
;    ((1 1548))
;    (:HEADER
;     (("Return-Path" . "<masaomi@example.com")
;      ("Delivered-To" . "g000001@example.com")
;      ("Received"
;       . "from localhost (localhost [127.0.0.1])from mx.example.com ([127.0.0.1])from BLU004-OMC2S2.example.com (blu004-omc2s2.example.com)from BLU436-SMTP62 by BLU004-OMC2S2.example.com with SMTPSVC(7.5.7601.22701);")
;      ("X-TMN" . "[FbI1AYaBgsjO5/G5IN9xksdHd0sl6p6k]")
;      ("X-Originating-Email" . "[masaomi@example.com]")
;      ("Message-ID" . "<BLU436-SMTP62064C4DFD4B50EC9A2905A9200@phx.gbl>")
;      ("Received"
;       . "from [192.168.1.10] by BLU436-SMTP62.smtp.example.com over TLS secured channel with SMTPSVC(8.0.9200.16384);")
;      ("Date" . "Mon, 2 Jun 2014 16:30:42 +0900")
;      ("From" . "CHIBA Masaomi <masaomi@example.com")
;      ("User-Agent"
;       . "Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Icedove/30.0")
;      ("MIME-Version" . "1.0") ("To" . "CHIBA Masaomi <g000001@example.com>")
;      ("Subject" . "test")
;      ("Content-Type" . "text/plain; charset="UTF-8"; format=flowed")
;      ("Content-Transfer-Encoding" . "7bit"))
;     :BODY ("" "test"))

まとめ

 今回は、cl-popを紹介してみました。
沢山のサイトを管理する場合の自動化等で便利に使えそうです。

comments powered by Disqus