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)))

Похоже, единственный способ изменить это — переопределить функцию и изменить приглашение так, чтобы оно было просто "IMAP password for %u: ".

Связанный контент