是否可以使用一行终端将所有邮件标记为已读?

是否可以使用一行终端将所有邮件标记为已读?

我并不是想删除所有邮件。

我使用 Google 搜索“将所有邮件标记为已读”,但实际上得到的帖子却是说如何删除它们。

我发现使用echo p | mail将首先输出未读然后将其标记为已读,但如果我这样做,我必须循环遍历它们。

我认为所有已读邮件都将被附加到名为mbox

我想要做的是...我想创建一个bash文件,然后crontab在每个月末使用它,mbox这样month-year我就可以跟踪和组织邮件,但为了将邮件附加到其中,必须mbox先逐一阅读邮件。

我的想法是否错误?或者有人可以给我一些建议吗?

提前感谢你的帮助

编辑:我只是sudo apt install mailutils在我的 ubuntu 服务器上使用它

答案1

我可以这样做:

  1. 输入mail,它会告诉我有多少条未读消息。假设是 31 条。
  2. 类型t 1-31,它会在一个大的连接表中显示从 1 到 31 的所有消息(事实证明,这t *能达到同样的效果,这要归功于海梅·哈布卢泽尔
  3. 输入q退出查看模式,q再次输入 退出mail

就是这样!mail显示所有 31 条消息已保存在您的mbox文件中,下次您输入时,它会显示“没有您的邮件”。

答案2

对 Vlad 的回答稍有改进。如果您对内容不感兴趣,只想将邮件标记为已读,则以下命令更有效:top :u。命令“top”仅显示邮件的前几行,而 :u 仅显示未读邮件。

答案3

来自手册页邮件:

看到

获取消息列表并将所有消息标记为已读。

因此在邮件中;

? seen *

将所有消息标记为已读但不删除它们。

虽然看起来 ubuntu mail 没有这个命令。

相关内容