feat: parse date
This commit is contained in:
@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user