2014-07-20 106 views
2

我正在開發一個使用Go Imap包的電子郵件客戶端。爲了同步數據我需要唯一的標識符,所以我想了一個小時來找到如何設置收件箱來返回UID而不是序列號。任何想法如何?我已經盲目地嘗試了一些命令,例如set, err := imap.NewSeqSet("UID set"),但沒有任何積極的結果。任何幫助深表感謝!如何使用golang imap獲取UID?

回答

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"]))