Thunderbird:新的电子邮件通知无法正常工作

use*_*963 7 thunderbird

我已经在我的 Thunderbird 中设置了“新电子邮件通知”,“显示警报”和“播放声音”,如下所示。但是现在我遇到了奇怪的问题。

声音只是有时有效。然后,我关闭 Thunderbird 并重新启动,声音有 50% 的可能性不起作用。如果我继续重新启动 Thunderbird,最终声音会再次开始工作。

wav文件存在,当我点击Play我可以听到声音。

在此处输入图片说明

我怀疑,这个问题可能与我同时使用两个 Thunderbird 配置文件的事实有关。有时通知同时适用于两者,有时仅适用于一种。问题在于声音通知和“显示警报”通知。

我使用以下命令分别启动两个配置文件:

icedove -P "default"
icedove -P "second" -no-remote
Run Code Online (Sandbox Code Playgroud)

通知的问题以不确定的方式发生。即使只有一个配置文件正在运行,通知也可能不起作用(因此,问题不是由一个实例“阻塞”设备/资源引起的)。

我该如何解决这个问题?新邮件通知对我的工作流程至关重要。这个问题对我来说很关键。

我正在使用 Thunderbird (Icedove) 24.6.0

更新:

我做了一些进一步的故障排除:当我wav使用监视对文件的访问时inotify,我看到在新消息中,没有进程试图打开new_mail.wav

while inotifywait new_mail.wav ; do echo "$(date +%T) inotify event" ; done
Run Code Online (Sandbox Code Playgroud)

Play然而,当我点击按钮时,声音实际播放,我也得到了 inotify 事件。

这看起来像是 Thunderbird 中的一些错误,其中一个事件(新电子邮件)没有被正确识别和处理。

Ter*_*ior 1

这是播放声音文件并在桌面上显示通知的替代解决方案。

创建一个小型 shell 脚本,其中包含新电子邮件到达时要运行的命令:

#!/bin/sh

if [ $1 = true ]; then
    aplay new_mail.wav
    notify-send --icon=icedove Icedove 'There are new emails!'
fi
Run Code Online (Sandbox Code Playgroud)

保存脚本并使其可执行:

chmod +x /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

安装扩展FireTray,然后转到其设置。在“邮件”选项卡上,将脚本的完整路径放入“计数更改时启动”中。

一些注意事项:

  • FireTray将使用参数true或调用该脚本false。争论的焦点是true是否有新邮件。
  • aplay来自包alsa-utils,并且应该默认安装。如果您使用 PulseAudio,则可以使用paplay包中的pulseaudio-utils来代替,但aplay也应该与 PulseAudio 一起使用。
  • notify-send需要libnotify-bin包。