我希望开发Go代码以从IMAP服务器读取电子邮件,然后删除该消息(即标记它/已删除并删除)。这是不如何做到这一点,因为它似乎是一个无操作。变量 message_id 是一个uint32消息号。
delset, _ := imap.NewSeqSet(string(message_id))
cmd2, err = client.Store(delset, "+FLAGS", "/Deleted")
if err != nil {
fmt.Printf("Error on store command, err: %s\n", err)
return
}
// below just stalls in a wait forever...
// Process responses while the command is running
// for cmd2.InProgress() {
// // Wait for the next response (no timeout)
// // client.Recv(-1)
// // Process command data
// for _, rsp2 = range cmd2.Data {
// fmt.Println("Response from store")
// fmt.Println(rsp2)
// }
// }
// And later:
// Expunge
cmd3, err = client.Expunge(nil)
答案 0 :(得分:0)
我得到了演示代码中的答案,该代码是该软件包的一部分。
https://github.com/mxk/go-imap/blob/master/imap-demo/demo1.go#L94
请注意,此套餐位置优先于code.google.com位置。并且,是的,标志是\已删除。