Skip to content

Commit 1a0c53f

Browse files
committed
fix: deletion (#41)
1 parent 8a2b35a commit 1a0c53f

1 file changed

Lines changed: 21 additions & 8 deletions

File tree

fetcher/fetcher.go

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -266,14 +266,27 @@ func moveEmail(cfg *config.Config, uid uint32, destMailbox string) error {
266266
}
267267

268268
func DeleteEmail(cfg *config.Config, uid uint32) error {
269-
var trashMailbox string
270-
switch cfg.ServiceProvider {
271-
case "gmail":
272-
trashMailbox = "[Gmail]/Trash"
273-
default:
274-
trashMailbox = "Trash"
275-
}
276-
return moveEmail(cfg, uid, trashMailbox)
269+
c, err := connect(cfg)
270+
if err != nil {
271+
return err
272+
}
273+
defer c.Logout()
274+
275+
if _, err := c.Select("INBOX", false); err != nil {
276+
return err
277+
}
278+
279+
seqSet := new(imap.SeqSet)
280+
seqSet.AddNum(uid)
281+
282+
item := imap.FormatFlagsOp(imap.AddFlags, true)
283+
flags := []interface{}{imap.DeletedFlag}
284+
285+
if err := c.UidStore(seqSet, item, flags, nil); err != nil {
286+
return err
287+
}
288+
289+
return c.Expunge(nil)
277290
}
278291

279292
func ArchiveEmail(cfg *config.Config, uid uint32) error {

0 commit comments

Comments
 (0)