mailutils 查看日志/发送邮件

之前写 crontab 提过一个简单的 postfix。后来玩大佬的【完美版】自动下载 B 站收藏视频 – Left’s blog 时,没调试好脚本一下子弹一堆错,脚本发的错误又不走 linux 的日志而是发去邮件,光靠简单的 postfix 就不好一条条查看了。得用更高一级的 mailutils。另外脚本本身还有发送邮件提示上传完毕的功能,也得通过 mailutils。

参考文章:linux - What is “mail”, and how is it navigated? - Unix & Linux Stack Exchange

  1. 安装

    1
    sudo apt install mailutils -y
  2. 使用

    通过命令 mail 进入邮箱。此时可以看到底下有个问号,那个地方就会显示你的输入的操作符。这个软件所有的操作逻辑都是操作符 + 回车,不输入操作符直接敲回车,软件就会依照所处位置进行对应的操作。为啥强调这个?因为这就是这个软件难用的地方。。。

  3. 看到邮箱列表,最左边有个小箭头,表示选中的邮件。可以直接用回车进入被选中的邮件。但基于操作逻辑,你不能用上下方向键调整箭头指向的邮件。。。

  4. 在相关邮件查看处,按下回车看邮件剩余的部分;如果邮件已结束,则会跳到下一封。也可以按输入 n + 回车直接跳到下一封。

  5. 要重新显示邮件列表,可以使用 z + 回车,显示未读邮件;邮件列表太多的话,只会显示一部分,可以用 z+z- + 回车,上下翻页;或者用 f* 显示所有邮件。

  6. 要指定进入某一个邮件,可以直接输入数字 + 回车;要删除所有邮件,输入 d* + 回车。

  7. 剩下的可以通过输入 help + 回车进入命令界面(虽然我感觉大多数人都看不懂,因为我没发现详细说明在哪)。

  8. 按下 q + 回车后退或直接退出。

  9. 发送邮件。使用命令

    1
    mail -s "[邮件内容]" -r "[发送人]" [接收方邮箱]

    发送人最后在接收方会显示为 root<[发送人]@localhost.localdomain>

    另外发送邮件的机器可能还要做域名解析之类的(不是很清楚,我用虚拟机 ubuntu 发不出去,在 vps 的 ubuntu 发送就没问题,一般那个脚本应该都在 vps 上用的吧,所以我就没认真探究)。