如何让 fetchmail 在提取完电子邮件后播放声音?

如何让 fetchmail 在提取完电子邮件后播放声音?

如何让 fetchmail 在提取完电子邮件后播放声音?

答案1

如果您已经ffmpeg安装,您可以使用它来播放几乎任何文件类型的声音:

ffplay -nodisp /path/to/sound/file

不幸的是,这将在大多数 Linux 发行版中生成一个窗口ffmpeg,尽管最新版本已修复此问题。如果不希望出现这种情况,您也可以使用该aplay命令,但该命令只能播放 WAV、AU 和其他原始音频格式:

aplay /path/to/sound.wav

如果你不想每次都输入这些代码,你可以写一个小脚本来帮你完成。只需将这样的文件拖放到某个地方,~/bin/fetchsound然后使其可执行(chmod +x ~/bin/fetchsound):

#!/bin/bash

fetchmail [..]

if [ $? -le 1 ]; then
    ffplay -nodisp /path/to/sounds/success.ogg
else
    ffplay -nodisp /path/to/sounds/failure.ogg
fi

您还可以让它在收到新邮件时播放声音,因为当它下载新邮件时会返回退出代码,而当没有下载时则fetchmail返回退出代码。(所有其他状态代码都表示失败。)01

#!/bin/bash

fetchmail [..]

if [ $? -eq 0 ]; then
    ffplay -nodisp /path/to/sounds/newmail.ogg
elif [ $? -gt 1 ]; then
    ffplay -nodisp /path/to/sounds/failure.ogg
fi

答案2

如果您在前台运行它:

fetchmail ...; printf '\a'

相关内容