2

現在の私の主な問題はgnus.el、次のような方法でいくつかのメールソースが設定されていることです。

(setq mail-sources
  '((pop :server "server.org"
     :port 995
     :user "user@server.org"
     :password "pAssWorD")

そのようなプレーンテキストファイルにパスワードを保存したくありません。私が欲しいのは:

  1. Gnus のメール ソースのパスワードを、厳密なパーミッションで別のファイルに保存し、gpg を使用して暗号化します。
  2. Emacs を使用する場合、パスフレーズを 1 回入力すると、メールを取得するときにこれらのパスワードが自動的に使用されます。

それを行うための最も慣用的/効率的な方法は何ですか?

また、暗号化されたファイルのどこかにパスワードを保存するか、特定の Emacs パッケージでパスワードを管理するかなど、Emacs でのパスワード管理に関する一般的なアイデアにも興味があります。

Emacs バージョン: 24.0.97

4

1 に答える 1

1

.authinfo私はファイルを POP3 で動作さ せることができなかったので、 Keeping your secrets secretブログポストに従いました (リンクを提供してくれたphilsに感謝します)。load-path に 3 つのファイルを作成しました。secrets.el:

(load-library "secrets.el.gpg")
(provide 'secrets)

secrets.el.gpg:

(setq password-alist
      '((:mbox1 . "pAsSwOrD")
        (:mbox2 . "correct horse battery staple")
        (:mbox3 . "qwfpgj")))

メール.el:

(defun load-mail-passwords ()
  "Load passwords for mail sources from secrets.el.gpg"
  (require 'secrets)
  (setq mail-sources
    `((pop :server "pop.server.org"
           :port 995
           :user "user@server.org"
           :password ,(rest (assoc :mbox1 password-alist)))
      ))
  (setq smtpmail-auth-credentials `(("smtp.server.org" "465" "user@server.org"
                                     ,(rest (assoc :mbox1 password-alist))))))
(add-hook 'gnus-load-hook 'load-mail-passwords)

(load "~/.emacs.d/mail.el")また、何らかの理由~/.emacs.d/で load-path のフォルダーが自動的に読み込まれなかったため、init ファイルにも入れました。

バッククォートはアポストロフィ (引用符) に似ていますが、カンマを使用して一部の式を引用符で囲むことができます。組み合わせは、(rest (assoc :keyword alist))連想リストのドット ペアの 2 番目の部分を取得することです。

于 2012-05-29T07:38:59.467 に答える