도메인 앞에 사용자 이름이 추가된 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)))

따라서 이를 변경하는 유일한 방법은 함수를 재정의하고 프롬프트를 just 로 수정하는 것 같습니다 "IMAP password for %u: ".

관련 정보