Gmail垃圾邮件附件检测与删除:代码失效,求正确判断方法
Gmail脚本判断邮件附件并删除的正确写法
你的代码存在两个关键问题:
- 判断条件里误用了赋值符号
=,应该使用比较符号===或== msg.getAttachments()返回的是附件对象数组,不能直接和true做等值比较
- 判断条件里误用了赋值符号
确实存在类似
msg.hasAttachments()的方法,直接调用就能判断邮件是否包含附件,用法简洁直观。修正后的代码示例:
if (msg.hasAttachments()) { console.log('删除带附件的邮件,序号:', i); Gmail.Users.Messages.remove('me', msg.getId()); }
- 如果你需要后续对附件做额外处理,也可以通过检查附件数组长度来判断:
const attachments = msg.getAttachments(); if (attachments.length > 0) { console.log('删除带附件的邮件,序号:', i); Gmail.Users.Messages.remove('me', msg.getId()); }
- 补充提醒:扫描垃圾文件夹时,要确保获取邮件列表的代码正确,比如用
Gmail.Users.Messages.list('me', {labelIds: ['TRASH']})来精准获取垃圾邮件,避免遗漏目标邮件。
内容的提问来源于stack exchange,提问作者crjunk
相关产品推荐
相关产品推荐

