【发布时间】:2015-05-06 04:24:03
【问题描述】:
我正在开发一个电子邮件客户端,由于某些原因,IMAP 服务器没有将所有未读邮件发回给我。在 2915 封电子邮件中,它只发回 2888 封。我尝试将它们连续标记为已读/未读,似乎“读取”命令有效并将它们全部标记为已读,未读也有效,但是当我搜索未读邮件时,我得到了不要得到27个。
关于为什么会发生这种情况的任何提示?我怀疑存在 IMAP 故障。
一些代码
const (
//serch
SearchUnseen = "UNSEEN"
SearchSeen = "SEEN"
SearchALL = "ALL"
)
const (
FlagSeen = `\Seen`
FlagUnseen = `\Unseen`
)
const (
//flag types
FlagSet = "+FLAGS"
FlagRemove = "-FLAGS"
)
type Request struct {
Label string //label: INBOX, Sent
Attr string //attr: RFC822.HEADER , []BODY if is Fetch
//OR "ALL", "UNSEEN" if is SEARCH
//http://tools.ietf.org/html/rfc3501#section-6.4.4
SqID string //sequences 1:44 , 1:*, 1,2,3 (UID)
}
cmd, err = c.UIDSearch(set, r.Attr)
cmd, err := imap.Wait(c.UIDStore(set, flagAction, imap.NewFlagSet(flag)))
if err != nil {
log.Error(err)
return
}
【问题讨论】:
-
你能掌握连接上发送和接收的实际数据吗?