1
0

feat: parse date

This commit is contained in:
James Houlahan
2020-08-05 11:55:28 +02:00
parent e01a523ae3
commit f88071b2ca

View File

@ -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) m.Header = make(mail.Header)
fields := h.Fields() fields := h.Fields()
for fields.Next() { for fields.Next() {
var text string text, err := fields.Text()
if err != nil {
if text, err = fields.Text(); err != nil { return err
return
} }
switch strings.ToLower(fields.Key()) { switch strings.ToLower(fields.Key()) {
@ -321,36 +320,50 @@ func parseHeader(m *pmapi.Message, h message.Header) (err error) {
m.Subject = text m.Subject = text
case "from": case "from":
if m.Sender, err = mail.ParseAddress(text); err != nil { sender, err := mail.ParseAddress(text)
return if err != nil {
return err
} }
m.Sender = sender
case "to": case "to":
if m.ToList, err = mail.ParseAddressList(text); err != nil { toList, err := mail.ParseAddressList(text)
return if err != nil {
return err
} }
m.ToList = toList
case "reply-to": case "reply-to":
if m.ReplyTos, err = mail.ParseAddressList(text); err != nil { replyTos, err := mail.ParseAddressList(text)
return if err != nil {
return err
} }
m.ReplyTos = replyTos
case "cc": case "cc":
if m.CCList, err = mail.ParseAddressList(text); err != nil { ccList, err := mail.ParseAddressList(text)
return if err != nil {
return err
} }
m.CCList = ccList
case "bcc": case "bcc":
if m.BCCList, err = mail.ParseAddressList(text); err != nil { bccList, err := mail.ParseAddressList(text)
return if err != nil {
return err
} }
m.BCCList = bccList
case "date": 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) { func parseAttachment(h message.Header) (att *pmapi.Attachment, err error) {