aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/imap.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/imap.go')
-rwxr-xr-xplugins/base/imap.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/base/imap.go b/plugins/base/imap.go
index 980a8aa..280a06b 100755
--- a/plugins/base/imap.go
+++ b/plugins/base/imap.go
@@ -436,3 +436,19 @@ func appendMessage(c *imapclient.Client, msg *OutgoingMessage, mboxType mailboxT
return true, nil
}
+
+func deleteMessage(c *imapclient.Client, mboxName string, uid uint32) error {
+ if err := ensureMailboxSelected(c, mboxName); err != nil {
+ return err
+ }
+
+ seqSet := new(imap.SeqSet)
+ seqSet.AddNum(uid)
+ item := imap.FormatFlagsOp(imap.AddFlags, true)
+ flags := []interface{}{imap.DeletedFlag}
+ if err := c.UidStore(seqSet, item, flags, nil); err != nil {
+ return err
+ }
+
+ return c.Expunge(nil)
+}