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

leo*_*bot 3 clojure

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

我知道有clojure邮件库,但我没有Gmail帐户.谢谢!

Cha*_*ffy 5

Apache Commons IMAP客户端库是一个合理的选择.他们的示例程序的核心很容易在20行以下的Clojure中复制,如果一个人不打扰故障处理:

(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)))
Run Code Online (Sandbox Code Playgroud)