From f88071b2ca4c260dfa66612083ac2db7cd5f6756 Mon Sep 17 00:00:00 2001 From: James Houlahan Date: Wed, 5 Aug 2020 11:55:28 +0200 Subject: [PATCH] feat: parse date --- pkg/message/parser.go | 47 +++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/pkg/message/parser.go b/pkg/message/parser.go index a640b0c7..5048202a 100644 --- a/pkg/message/parser.go +++ b/pkg/message/parser.go @@ -304,16 +304,15 @@ func attachPublicKey(p *parser.Part, key, keyName string) { }) } -func parseHeader(m *pmapi.Message, h message.Header) (err error) { +func parseHeader(m *pmapi.Message, h message.Header) error { m.Header = make(mail.Header) fields := h.Fields() for fields.Next() { - var text string - - if text, err = fields.Text(); err != nil { - return + text, err := fields.Text() + if err != nil { + return err } switch strings.ToLower(fields.Key()) { @@ -321,36 +320,50 @@ func parseHeader(m *pmapi.Message, h message.Header) (err error) { m.Subject = text case "from": - if m.Sender, err = mail.ParseAddress(text); err != nil { - return + sender, err := mail.ParseAddress(text) + if err != nil { + return err } + m.Sender = sender case "to": - if m.ToList, err = mail.ParseAddressList(text); err != nil { - return + toList, err := mail.ParseAddressList(text) + if err != nil { + return err } + m.ToList = toList case "reply-to": - if m.ReplyTos, err = mail.ParseAddressList(text); err != nil { - return + replyTos, err := mail.ParseAddressList(text) + if err != nil { + return err } + m.ReplyTos = replyTos case "cc": - if m.CCList, err = mail.ParseAddressList(text); err != nil { - return + ccList, err := mail.ParseAddressList(text) + if err != nil { + return err } + m.CCList = ccList case "bcc": - if m.BCCList, err = mail.ParseAddressList(text); err != nil { - return + bccList, err := mail.ParseAddressList(text) + if err != nil { + return err } + m.BCCList = bccList case "date": - // TODO + date, err := mail.ParseDate(text) + if err != nil { + return err + } + m.Time = date.Unix() } } - return + return nil } func parseAttachment(h message.Header) (att *pmapi.Attachment, err error) {