go-imap icon indicating copy to clipboard operation
go-imap copied to clipboard

无法设置flag

Open BeanKaKa opened this issue 2 years ago • 1 comments

我设置了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 []

BeanKaKa avatar Jun 16 '22 12:06 BeanKaKa

add imap.FetchFlags to items items := []imap.FetchItem{section.FetchItem(), imap.FetchEnvelope, imap.FetchFlags}

mac-zhou avatar Aug 04 '22 03:08 mac-zhou