如何将邮件标记为已读,\在IMAP(Go)上看到

时间:2014-07-23 16:38:30

标签: go imap

我正在尝试使用\SEEN将消息/消息列表标记为“IMAP”(永久)。然而,与fetch,search和朋友不同,imap包上似乎没有Flag函数。我应该用UID发送原始命令吗?

2 个答案:

答案 0 :(得分:2)

IMAP使用STORE命令在消息上设置标志,例如:

foo UID STORE 135211 +FLAGS (\Seen)

所以我猜你应该使用StoreUIDStore函数来设置标记。

答案 1 :(得分:2)

您必须选择邮箱为可写

youImapConnection.Select(mailboxName, false) // true would be for readonly

然后只需执行以下操作

seq, _ := imap.NewSeqSet("")
err := seq.AddNum(612) // 612 is your UID
_, err = imap.Wait(youImapConnection.UIDStore(seq, "+FLAGS", imap.NewFlagSet(`\Seen`))) // Here you tell to add the flag \Seen

最后你必须要消灭:

_, err := imap.Wait(youImapConnection.Close(true)) // Here you tell to apply changes, necessary if you mark an Email as deleted

你应该做得好: - )

并且不要犹豫,浏览文档/源代码,它易于理解,您将找到所需的一切。