![如何让 fetchmail 在提取完电子邮件后播放声音?](https://linux22.com/image/1269156/%E5%A6%82%E4%BD%95%E8%AE%A9%20fetchmail%20%E5%9C%A8%E6%8F%90%E5%8F%96%E5%AE%8C%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%90%8E%E6%92%AD%E6%94%BE%E5%A3%B0%E9%9F%B3%EF%BC%9F.png)
如何让 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'