summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--email/email.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/email/email.scm b/email/email.scm
index 398ddb3..e624a98 100644
--- a/email/email.scm
+++ b/email/email.scm
@@ -545,7 +545,8 @@
   (or angle-addr addr-spec domain word))
 
 (define-field-pattern received "Received"
-  (and (* received-token) (ignore ";") date-time))
+  (and (* received-token) (ignore ";") date-time)
+  (* received-token))
 
 (define-peg-pattern path body
   (or angle-addr (and (? cfws) (ignore "<") (? cfws) (ignore ">") (? cfws))))
@@ -1005,7 +1006,9 @@ list of header keys and values."
     (match-pattern fields headers))
    `((received . ,(match-lambda*
                     (`(received ,tokens ,timestamp)
-                     (list 'received (string-join tokens) timestamp))))
+                     (list 'received (string-join tokens) timestamp))
+                    (('received tokens ...)
+                     (list 'received (string-join tokens)))))
      (received-token . ,(match-lambda*
                           (`(received-token ,token) token)))
      (date-time . ,(lambda node