我正在使用Go Imap软件包开发电子邮件客户端。为了同步数据我需要唯一的标识符,所以我尝试了一个小时来找到如何设置收件箱以返回UID而不是序列号。知道怎么样?我已经盲目地尝试了一些命令set, err := imap.NewSeqSet("UID set")
而没有正面结果。非常感谢任何帮助!
答案 0 :(得分:2)
这似乎有用......现在我需要找到如何获得&解码身体:/
cmd, err = c.UIDFetch(set, "RFC822.HEADER")
if err != nil {
log.Error(err)
return
}
// Process responses while the command is running
fmt.Println("\nMost recent messages:")
for cmd.InProgress() {
// Wait for the next response (no timeout)
c.Recv(-1)
var m Msg
// Process command data
for _, rsp = range cmd.Data {
header := imap.AsBytes(rsp.MessageInfo().Attrs["RFC822.HEADER"])
UID := imap.AsNumber((rsp.MessageInfo().Attrs["UID"]))