【问题标题】:Parse email string to data structure in Clojure在 Clojure 中将电子邮件字符串解析为数据结构
【发布时间】:2012-06-30 01:39:03
【问题描述】:

我正在寻找一种以纯文本格式接收电子邮件并将其解析为更好的内容以在 Clojure 项目中使用的方法。生成的数据结构应该可以让我快速获取发件人、主题、正文和附件。

有一个与此类似的问题,但在 Java 中:

Java Email message Parser?

我发现的大多数库只支持电子邮件发送,不一定支持解析。

【问题讨论】:

  • 你能给我一个正确答案的例子吗?
  • 如果你已经有了如何在 Java 中实现的示例,我的第一反应是使用 Java 互操作进行解析,然后使用 clojure.core/bean 将其转换为 Clojure 结构。跨度>

标签: email clojure


【解决方案1】:

既然没有人回答,也许我应该回答。这是一个加载电子邮件文件并打印出from 字段(第一个地址)的非常简单的示例。

(ns something.views.welcome
  (:use [noir.core :only [defpage]]
        [clojure.contrib.java-utils]
        [clojure.java.io :only [input-stream]])
(:import 
    (javax.mail Session)
    (javax.mail.internet MimeMessage)
))


(def session
    (Session/getDefaultInstance 
    (as-properties [["mail.store.protocol" "imaps"]])))


(def email "email.txt")

(defn get-message [filename]
    (bean (MimeMessage. session (input-stream filename))))

(defn get-from [message]
    (.toString (first (:from message))))



(println (get-from (get-message email)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-02
    • 2021-05-03
    • 2011-04-19
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    相关资源
    最近更新 更多