Macos 在BSD:Mail中打印所有邮件

Macos 在BSD:Mail中打印所有邮件,macos,Macos,我最近在OSX上设置了一个每小时一次的cronjob,现在我经常收到消息说“你有新邮件” 我当前查看所有内容的流程: mail <hit enter to display first message> <hit q to return to index> <loop back to step 2 until I have no more mail> quit 让它只需将所有邮件打印到终端,然后将其删除或标记为已读 但到目前为止,我还没有弄清楚如何将邮件内容打

我最近在OSX上设置了一个每小时一次的cronjob,现在我经常收到消息说“你有新邮件”

我当前查看所有内容的流程:

mail
<hit enter to display first message>
<hit q to return to index>
<loop back to step 2 until I have no more mail>
quit
让它只需将所有邮件打印到终端,然后将其删除或标记为已读

但到目前为止,我还没有弄清楚如何将邮件内容打印到终端上,从而避免使用邮件交互应用程序

cat /var/mail/yourusername | less

然后点击空格键查看更多信息。

在谷歌搜索了很多次之后,我放弃了使用邮件应用程序寻找答案。我的新流程是创建一个执行以下操作的别名

gsed '/From username/,+16 d' < /var/mail/username && cp /dev/null /var/mail/username
gsed'/From username/,+16 d'
也就是说,它绕过邮件应用程序,直接解析邮件文件。它还将在最后清除邮件文件中的所有内容,以便您在阅读邮件通知消息后停止接收它们。如果您只想打印所有的邮件标题/内容,一个简单的cat就可以了。我正在使用gsed命令,以便删除所有标题,并且只将消息内容打印到stdout


请注意,以上只是一种变通方法。问题的真正答案似乎是“不,请求的功能不存在”。

这根本不能回答问题。我同意Joel的观点。我喜欢输出被邮寄给我的事实。我只是想从命令行直接查看,对不起,我误读了你的问题。。我想你不想看到它们。那cat/var/log/mail/yourusername | less呢?然后你可以点击空格键查看更多内容。
gsed '/From username/,+16 d' < /var/mail/username && cp /dev/null /var/mail/username