Gnus for Emacs 中的新邮件通知

Posted

技术标签:

【中文标题】Gnus for Emacs 中的新邮件通知【英文标题】:New mail notifications in Gnus for Emacs 【发布时间】:2010-11-06 09:32:37 【问题描述】:

我在 Emacs 中使用 Gnus 作为我的邮件客户端。我已将 .gnus.el 配置为定期检查邮件 [1],但现在,除了切换到组缓冲区之外,我无法知道是否收到了新邮件。当我在一个或多个特定组中有新邮件时,我希望收到某种类型的通知。我找到了 gnus-notify.el [2],但我没有成功地让它工作(诚然,可能是因为我对如何正确配置它缺乏了解——我是 Emacs 和 Gnus 的新手)。谁能提供我需要采取的步骤以使 gnus-notify 正常工作或提供另一种使用 Gnus 获取某种类型的新邮件指示器的方法?

[1]

(gnus-demon-add-handler 'gnus-group-get-new-news 2 t)
(gnus-demon-init)

[2]http://www.emacswiki.org/cgi-bin/wiki/gnus-notify.el

【问题讨论】:

【参考方案1】:

这里有一些额外的细节:

http://www.emacswiki.org/emacs/GnusBiff

如果您使用的是 Mac,您可能只需要使用 growlnotify 命令来获得新邮件的良好警报。更新后的 mac-biff-update 函数可能看起来像这样:

(defun mac-biff-update ()
  "Read the mail count from Gnus."
  (let ((buffer (get-buffer "*Group*"))
        (count 0))
    (when buffer
      (with-current-buffer buffer
        (goto-char (point-min))
        (while (re-search-forward mac-biff-mail-re nil t)
          (setq count (+ count (string-to-number (match-string 1)))))))
    (if (> count 0)
          (shell-command
            (format "/usr/local/bin/growlnotify -a Emacs.app -m 'You have %d new messages!'" count)))))

growlnotify 命令是一个可选包,可以从完整的 growl .dmg 文件安装。

【讨论】:

不错。我能够使用上述代码获得咆哮通知,并从 emacswiki 页面获得一些帮助。谢谢。【参考方案2】:

我可以推荐gnus-desktop-notify

还有一个配置咆哮/Mac设置的示例。

另请注意,您每 2 分钟检查一次(2 * 60 秒,请参阅 gnus-demon-timestep),只是为了您不想每 2 分钟被打断一次;)

【讨论】:

这应该是公认的答案。 M-x package-install <gnus-desktop-notify> RET 现在是标准配置。【参考方案3】: 下载 gnus-notify.el here 并将其放在 emacs 可以找到的地方(我一辈子都无法让安装 el-get 的版本正常工作。哦,好吧,无论如何我不得不破解它,继续阅读) . 把它放在你的 .gnus.el 中:
(setq gnus-parameters
 '(("INBOX"
    (gnus-use-adaptive-scoring nil)
    (gnus-use-scoring nil)
    (visible . t)
    (display . all)
    (modeline-notify . t)
    )))

然后尝试M-x gnus-mst-show-groups-with-new-messages 看看是否安装正确。

(如果您还有其他gnus-parameters 定义,请将此作为最后一个)

通常你应该在每个组的基础上使用这个参数,通过转到*groups*缓冲区,将光标放在一个组上,按G p,输入(modeline-notify t)(是的,没有点这一次,如果它是该组的唯一参数,则被另一对括号包围 - 是的,删除尾随的“nil”)并退出并由C-c C-c保存,但我发现这个解决方案更灵活和便携。

您可能需要调整显示组名称的正则表达式,因为它旨在将 alt.comp.sys.amiga 显示为 [acsa 2] (是的,它现在真的死了)像我一样说[perso 12] [work 8]。并且您可以单击标签跳转到该组。非常漂亮。

【讨论】:

以上是关于Gnus for Emacs 中的新邮件通知的主要内容,如果未能解决你的问题,请参考以下文章

Emacs中使用Rmail收取邮件

如何在 Gnus 中自动订阅新的 IMAP 文件夹?

在 emacs 24 中阅读电子邮件(来自 gmail)

使用 emacs 和 gnus 在引用的回复中包含原始消息的日期和时间

当用户通过电子邮件更新记录时,如何通过从指定表中选择记录的 status_id 来通知所有管理员

使用 Emacs 发送电子邮件