Gnus auth,使用者名稱加入到網域前面

Gnus auth,使用者名稱加入到網域前面

我正在嘗試解決 Gnus 要求您輸入用戶名的問題,然後將其添加到 IMAP 域中,即阻止 Gnus 在提示符下將用戶名輸入[email protected][email protected]@mail.bar.com.

我在線上閱讀的所有指南都指定了類似這樣的內容來設定登入憑證:

在 ~/.authinfo 中放置如下行

machine imap.gmail.com login [email protected] password your-password port 993

接下來,我添加了一個如下所示的字串:

machine mail.foo.com login [email protected] port 993

這讓我表現良好(僅提示輸入密碼),但仍然將整個用戶名添加到機器地址之前。更糟的是,當我嘗試更改某些內容並重複登入時,出現錯誤Wrong type argument: wholenump, nil

我的gnus.el文件包含以下 IMAP 內容:

; IMAP
(setq gnus-select-method
      '(nnimap "mymail"
               (nnimap-address "mail.bar.com")
               (nnimap-server-port 993)
               (nnimap-stream ssl)))

答案1

此提示被硬編碼在原始碼中 ( nnimap.el):

(defun nnimap-credentials (address ports user)
  (let* ((auth-source-creation-prompts
          '((user  . "IMAP user at %h: ")
            (secret . "IMAP password for %u@%h: ")))
         (found (nth 0 (auth-source-search :max 1
                                           :host address
                                           :port ports
                                           :user user
                                           :require '(:user :secret)
                                           :create t))))
    (if found
        (list (plist-get found :user)
          (let ((secret (plist-get found :secret)))
        (if (functionp secret)
            (funcall secret)
          secret))
          (plist-get found :save-function))
      nil)))

所以看來改變這一點的唯一方法是重新定義函數並將提示修改為 just "IMAP password for %u: "

相關內容