优化:email垃圾邮件或回收站执行永久删除时imap服务器端实际执行移动到回收站

This commit is contained in:
jingrow 2026-05-17 02:21:26 +08:00
parent 140bf0e1c2
commit fa7d9289af

View File

@ -60,7 +60,11 @@ def _do_imap_move(email_account, uid, src, dest):
def _sync_imap_delete(email_name):
"""Best-effort: delete email on IMAP server asynchronously."""
"""Move email to Trash folder on IMAP server (soft delete).
Unlike other operations, this moves to Trash instead of permanent deletion
to prevent accidental data loss. Emails can be recovered from IMAP Trash folder.
"""
uid, email_account, imap_folder = jingrow.db.get_value(
"Email", email_name, ["uid", "email_account", "imap_folder"]
) or (None, None, None)
@ -68,14 +72,15 @@ def _sync_imap_delete(email_name):
if not uid or uid == -1 or not email_account:
return
folder = imap_folder or "INBOX"
src = imap_folder or "INBOX"
enqueue(
"jingrow.email.inbox._do_imap_delete",
"jingrow.email.inbox._do_imap_move",
queue="short",
email_account=email_account,
uid=str(uid),
folder=folder,
src=src,
dest="Trash",
)