ユーザー名をドメインの先頭に追加する Gnus 認証

ユーザー名をドメインの先頭に追加する Gnus 認証

私は、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)))

したがって、これを変更する唯一の方法は、関数を再定義し、プロンプトを だけに変更することのようです"IMAP password for %u: "

関連情報