(assoc-ref address 'address))
(define (header message key)
- (assoc-ref (email-headers message) key))
+ (assoc-ref (or (email-headers message) '()) key))
(define-public (sender message)
- (first (header message 'from)))
+ (or (and=> (header message 'from) first)
+ "unknown sender"))
(define-public sender-email
(compose extract-email sender))
(extract-name (sender message)))
(define-public (date message)
- (header message 'date))
+ (or (header message 'date) "unknown date"))
(define-public (subject message)
(or (header message 'subject) "(no subject)"))
(define-public (recipients message)
"Return a list of recipient email addresses for the given MESSAGE."
- (let ((headers (email-headers message)))
+ (let ((headers (or (email-headers message) '())))
(filter-map (match-lambda
(((or 'cc 'bcc 'to) val) val)
(_ #f)) headers)))