如何让 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
返回退出代码。(所有其他状态代码都表示失败。)0
1
#!/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'