        (subs rx (inc (.indexOf rx "<")) (.indexOf rx ">"))
          address))))
 
+(defn strip-email-square-brackets [address]
+  (let [rx (re-find #"\[\S+\]" address)]
+    (if rx
+      (subs rx (inc (.indexOf rx "\[")) (.indexOf rx "\]"))
+      address
+      )))
+
 (defn redact-addresses
   "Replace the addresses with aliases (presumably from the config files)."
   [address redactions]

          (get (my-config) :redactions))))

;; Cache redactions, so we don't have to keep yanking them from the config files
(def get-redactions (clojure.core.memoize/ttl get-new-redactions {} :ttl/threshold 10000))

;;;
;;; Mail Data Formatting

  Remote complement to (ingest-mail)."
  ([] (remote-mail (gmail-folder)))
  ([folder-name]
   ;(if (string? folder-name)
     (let []
      (clojure.pprint/pprint (str "Accessing remote mail: " folder-name))
      (map process-remote-message
           (clojure-mail.core/with-store (clojure-mail.core/gen-store (gmail-username) (gmail-password))
             (.getMessages (my-open-folder folder-name :readonly))
                  )))
     ));)

;; Cache the fetched mail, because we really don't need real-time updates yet...
(def cached-remote-mail
  (clojure.core.memoize/ttl remote-mail {} :ttl/threshold 60))


;(remote-mail)
