编写clojure函数以通过电子邮件发送文件

时间:2014-08-27 16:05:21

标签: email clojure

我正试图找到一种方法来编写一个clojure函数,该函数将通过电子邮件发送给它的文件作为参数。这是我到目前为止所做的,但似乎没有用。

(defn email-file[my_file]
(postal/send-message {:host "1.2.3.4"
                    :port 100
                    :user "a-user"
                    :pass "password"}
                   {:from "example@email.com"
                    :to "email@example.com"
                    :subject "Function to send file passed as argument"
                    :body [{:type :attachment
                           :content (java.io.File. my_file)}]}))

现在,它只返回(var project.email/email-report)。我究竟做错了什么? 此外,由于我已经拥有该文件,如何在不附加文件的情​​况下将其用作电子邮件的内容。附加意味着我必须保存,下载并打开哪些有点太多。非常感谢。感谢

1 个答案:

答案 0 :(得分:1)

如果文件只是文本,请考虑使用slurp来读取它并将其用作正文。否则,内联html附件应该可以解决问题。

(defn email-file [filename]
  (postal/send-message
  ...
    :body (slurp filename)
  ...)

(email-file "~/my_file.txt")