为了账号安全,请及时绑定邮箱和手机立即绑定

Golang IMAP:将消息移动到另一个文件夹

Golang IMAP:将消息移动到另一个文件夹

Go
Helenr 2021-11-08 15:52:21
我不知道在哪里查看参考资料以完成此操作;我已经尝试了几次代码迭代,每次都失败了。略有编辑,但足以了解要点......// Make connectionimConnection, err := imap.DialTLS(strAddress, nil)// Defer disconnectdefer func(){    imConnection.Logout(30*time.Second)}// AuthenticateimConnection.Login(strUname, strPass)//Select the folder with messages I want to moveimConnection.Select(`[Gmail]\Movethese`, false)// Create a setset, _ = imap.NewSeqSet("1:*")// It's my understanding that moving messages means copying them over, then// deleting the original messages?cmd, _ := imConnection.UIDCopy(set, `[Gmail]\Destination`)这似乎无声无息地失败了。在我看来,它应该选择“Movethese”文件夹中的所有内容并将它们复制到“Destination”。我在正确复制它们时缺少什么?是否有一种简单的方法可以移动与特定主题行字符串匹配的单个消息?此外,我不确定在选择时是否必须将源目录的 R/W 设置为 False,但这似乎没有什么区别。这是导入github.com/mxk/go-imap/imap 包
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

尝试在命名邮箱的两个命令中添加错误检查;反斜杠是源代码中的一个特殊字符,所以我希望 gmail 会给你一个错误,比如No such mailbox: [Gmail]Movethese.

处理错误通常是一个好主意,尤其是在这样的情况下,当你知道有一个错误的地方。

顺便说一句,复制/删除序列有点老式。现在大多数 IMAP 服务器都支持UID MOVE作为原子命令,而 IIRC gmail 是支持者之一。不过,现在无法检查,所以不要相信我。


查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信