go-imap
go-imap copied to clipboard
无法设置flag
我设置了flag但后面的输出以及我再次访问都没有获取到flag,我通过文档复制了代码,但他仍然无效。我还测试了删除flag可以使用
seqset := new(imap.SeqSet)
id, err := strconv.Atoi(c.Param("id"))
seqset.AddNum(uint32(id))
section := &imap.BodySectionName{}
items := []imap.FetchItem{section.FetchItem(), imap.FetchEnvelope}
messages := make(chan *imap.Message, 1)
done := make(chan error, 1)
seenItem := imap.FormatFlagsOp(imap.AddFlags, true)
flags := []interface{}{imap.SeenFlag}
err = conn.UidStore(seqset, seenItem, flags, nil)
if err != nil {
log.Println(err)
}
go func() {
done <- conn.Fetch(seqset, items, messages)
}()
imap.CharsetReader = charset.Reader
msg := <-messages
log.Println("Message has been marked as seen")
mailinfo := msg.GetBody(section)
log.Println(msg.Flags)
下面是log的输出,第二行是我所输出的flag
2022/06/16 20:03:49 Message has been marked as seen
2022/06/16 20:03:49 []
add imap.FetchFlags to items
items := []imap.FetchItem{section.FetchItem(), imap.FetchEnvelope, imap.FetchFlags}