AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 755332
Accepted
Kusalananda
Kusalananda
Asked: 2023-08-30 22:15:19 +0800 CST2023-08-30 22:15:19 +0800 CST 2023-08-30 22:15:19 +0800 CST

用“notmuch”标记邮件将其标记为旧邮件

  • 772

在与本地 maildir 收件箱同步并使用+offlineimap执行垃圾邮件过滤和排序后,我使用 标记邮件存储中的邮件。fdmbogofilternotmuch

直到最近,我还使用以下 shell 代码根据某些条件来标记和重新标记消息:

notmuch new

tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent            -- folder:/Sent/
-inbox +archive         -- folder:/Archive/
-inbox +junk            -- folder:/Junk/
+unsorted               -- folder:/INBOX.Unsorted/
-unsorted               -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
END_BATCH

这将从、或文件夹inbox中的任何邮件中删除标签,同时使用这三个文件夹的适当标签重新标记邮件。然后,它根据消息是否位于文件夹(我放置无法分类的消息的位置)中来标记或取消标记消息。最后,我确保已归档的消息不会被标记为 ,并且未排序的消息会被标记为。SentArchiveJunkINBOX.Unsortedbogofilterunreadunread

这很有效。

由于我通过五个不同的帐户接收邮件,因此我还想根据文件夹名称向邮件添加诸如 等标签account-somename:account-othername

notmuch new

tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent            -- folder:/Sent/
-inbox +archive         -- folder:/Archive/
-inbox +junk            -- folder:/Junk/
+unsorted               -- folder:/INBOX.Unsorted/
-unsorted               -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
+account-acc1           -- folder:/acc1/
+account-acc2           -- folder:/acc2/
+account-acc3           -- folder:/acc3/
+account-acc4           -- folder:/acc4/
+account-acc5           -- folder:/acc5/
END_BATCH

标记似乎按预期执行,但副作用是新邮件被标记为旧邮件(从 maildir 的new目录移动到该cur目录)。这反过来意味着mutt不会检测收件箱中的新消息(除非我maildir_check_cur在mutt配置中进行设置,我认为这不是一个很好的解决方案)。

我不知道为什么或者我能做些什么来阻止这种情况发生。

我的notmuch配置:

[database]
path=/home/myself/Mail/inboxes

[user]
name=myname
[email protected]
[email protected]

[new]
tags=inbox;unread

[search]

[maildir]
syncronize_flags=true

[index]
header.List=List-Id
email
  • 1 1 个回答
  • 30 Views

1 个回答

  • Voted
  1. Best Answer
    Kusalananda
    2023-09-02T06:17:56+08:002023-09-02T06:17:56+08:00

    发生这种情况似乎是因为notmuch对于哪些邮件文件应该放在哪个 Maildir 子目录中有点过于迂腐,并且因为offlineimap对同一件事有点过于宽松。

    该offlineimap实用程序按预期将邮件消息传递到目标 Maildir 的new目录中,但文件名具有:2,文件名后缀,表示“此邮件消息没有标志”。通常,全新的、未见过的和刚刚发送的消息文件不应该具有此文件名后缀,因为是用户的 MUA(邮件客户端)添加它。

    当notmuch配置为同步 Maildir 标志(您最有可能希望它这样做)时,它会注意到消息文件具有文件名后缀:2,,因此假设用户必须在其 MUA 中看到消息,但他们尚未阅读它们(S后缀中逗号后面没有)。然后它将消息文件移动到该cur目录。因此,邮件mutt客户端将它们显示为“旧”(已看过但未读)。

    解决方案是纠正 的行为offlineimap,但它已被作为 bug 提出并于 2015 年被驳回。

    我的解决方案是offlineimap从等式中取出。相反,我使用 来获取所有邮件fdm。我稍后可能会考虑另一个 IMAP 同步解决方案(mbsync?),因为邮件服务器上有几周的邮件对于从我的主机上访问它很有好处。

    • 0

相关问题

  • Mutt abook 空查询

  • 使用 sendmail -t 处理非标准 SMTP 端口

  • 如何使用 Sendmail 添加附件(选项有限)?

  • 是否可以在 Maildir 模式下为 IMAP 服务器实现“安全删除”?

  • 接收有关全新 Debian 的电子邮件

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve