Emacs Gnus 中来自同一服务器的多个电子邮件帐户

Emacs Gnus 中来自同一服务器的多个电子邮件帐户

我正在尝试设置 Gnus 以使用我的两个 Gmail 帐户,但一次只能让一个帐户显示在文件夹列表中。

(setq gnus-select-method '(nnimap "[email protected]"
                            (nnimap-address "secure.emailsrvr.com")
                            (nnimap-server-port 993)
                            (nnimap-stream ssl)))

(setq gnus-secondary-select-methods
      '((nnimap "[email protected]"
                (nnimap-address "imap.gmail.com")
                (nnimap-server-port 993)
                (nnimap-stream ssl))
        (nnimap "[email protected]"
                (nnimap-address "imap.gmail.com")
                (nnimap-server-port 993)
                (nnimap-stream ssl))))

这是我的 .gnus 文件的相关部分。启动时它会提示我输入三个用户名密码。输入完所有三个密码后,我就可以访问我的工作帐户和我输入第二个凭据的 Gmail 帐户。这真的很烦人!有什么想法吗?

答案1

使用“外部”服务器而不是辅助服务器。我的 gnus 设置如下:

(setq gnus-select-method '(nntp "127.0.0.1"))

要设置外部服务器,请转到 Gnus Group 缓冲区并按“^”键转到服务器列表。在这里,您可以通过按“a”添加新的“服务器”,它可以是真实服务器的别名。例如,我有一个定义了以下属性的服务器:

(nnimap "foobar"
    (nnimap-address "192.168.1.101")
    (nnimap-server-port 143)
    (nnimap-list-pattern
     ("INBOX" "*"))
    (nnimap-stream network)
    (nnimap-authenticator login)
    (nnimap-authinfo-file "~/.authinfo")
    (nnimap-expunge-on-close always)
    (gnus-check-new-newsgroups nil))

我可以添加第二个,具有类似的属性:

(nnimap "baz"
    (nnimap-address "192.168.1.101")
    (nnimap-server-port 143)
    (nnimap-list-pattern
     ("INBOX" "*"))
    (nnimap-stream network)
    (nnimap-authenticator login)
    (nnimap-expunge-on-close never)
    (nnimap-authinfo-file "~/.authinfo")
    (gnus-check-new-newsgroups nil))

在我的~/.authinfo文件中我有:

machine baz login bazzy.mcbaz force yes port 143
machine foobar login foobar password FooB@r force yes port 143

因此其中一个有密码,另一个没有。此外,该authinfo文件还定义了登录 ID。

答案2

(抱歉我回复晚了。)似乎接受的答案并没有解决保存两个密码的问题。这似乎是~/.authinfo存储密码的限制。要解决这个问题,请创建不同的主机名并使用您的hosts文件指向同一个 gmail 主机。例如:

machine imap.gmail1.com login [email protected] password soup
machine smtp.gmail1.com login [email protected] 587 password soup

machine imap.gmail2.com login [email protected] password soup2
machine smtp.gmail2.com login [email protected] 587 password soup2

请注意,这也使您无需使用外部服务器,因为 GNUS 会将 gmail1.com 视为一个源,将 gmail2.com 视为另一个源。

您的设置如下:

(setq gnus-select-method '(nntp "news.server.some.where"))
(setq gnus-secondary-select-methods 
      '((nnimap "imap.gmail1.com"
                (nnimap-address "imap.gmail1.com")
                (nnimap-server-port 993)
                (nnimap-stream ssl))
        (nnimap "imap.gmail2.com"
                (nnimap-address "imap.gmail2.com")
                (nnimap-server-port 993)
                (nnimap-stream ssl))
        ))

答案3

我通过使用两个不同的文件来做到这一点.authinfo,如下所示:

(setq gnus-secondary-select-methods
      '((nnimap "[email protected]"
                (nnimap-address "imap.gmail.com")
                (nnimp-authinfo-file ".authinfo_one")
                (nnimap-server-port 993)
                (nnimap-stream ssl))
        (nnimap "[email protected]"
                (nnimap-address "imap.gmail.com")
                (nnimp-authinfo-file ".authinfo_two")
                (nnimap-server-port 993)
                (nnimap-stream ssl))))

这两个.authinfo文件的特点是同一主机,但用户名/密码不同:

machine imap.gmail.com login user1 password "password1"

相关内容