Emacs: управляйте паролями электронной почты в Gnus - PullRequest
2 голосов
/ 26 марта 2012

Моя основная проблема сейчас заключается в том, что в gnus.el я получил несколько почтовых источников, настроенных таким образом:

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

Я не хочу хранить пароли в обычном текстовом файле, подобном этому.Что я хочу:

  1. Хранить пароли для источников почты Gnus в отдельном файле со строгими разрешениями и зашифровывать с помощью gpg.
  2. При использовании Emacs введите пароль один раз и используйте эти пароли автоматическипри получении почты.

Какой самый идиоматичный / эффективный способ сделать это?

Меня также интересуют любые общие идеи по управлению паролями в Emacs, будь то просто хранениеих где-то в зашифрованных файлах или для управления ими для определенных пакетов Emacs.

Версия Emacs: 24.0.97

1 Ответ

1 голос
/ 29 мая 2012

Я не смог заставить .authinfo файл работать с POP3, поэтому я следовал за Хранение ваших секретов в секрете blogpost (спасибо phils за ссылку).Я создал три файла в моем пути загрузки.secrets.el:

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

secrets.el.gpg:

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

mail.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/ в пути загрузки не загружалась автоматически.

Обратный удар похож на апостроф (кавычка), но позволяет некоторым выражениям быть заключенными в кавычки с помощью запятой.Комбинация (rest (assoc :keyword alist)) предназначена для получения второй части пунктирной пары в списке ассоциаций.

...