如何用clojure阅读我的电子邮件?

时间:2014-10-10 21:50:28

标签: clojure

我想用clojure解析来自我的IMAP收件箱的邮件。

我知道有clojure-mail库,但我没有gmail帐户。谢谢!

1 个答案:

答案 0 :(得分:5)

Apache Commons IMAP客户端库是一个合理的选择。 their example program的核心在Clojure的20行以下被轻易复制,如果一个人不为失败处理而烦恼:

(ns mail-client.core
  (:import [org.apache.commons.net PrintCommandListener]
            [org.apache.commons.net.imap IMAPClient]))

(defn get-mail [server username password]
  (doto (IMAPClient.)
    (.setDefaultTimeout 60000)
    (.addProtocolCommandListener (PrintCommandListener. System/out true))
    (.connect server)
    (.login username password)
    (.setSoTimeout 6000)
    (.capability)
    (.select "inbox")
    (.examine "inbox")
    (.status "inbox" (into-array String ["MESSAGES"]))
    (.logout)
    (.disconnect)))