LINUX.ORG.RU

Emacs. Gnus. Настрока

 ,


0

3

Никак не получается заставить gnus работать. Я что то не так указал или чего то может не хватает?

gnus.el:

(setq  user-mail-address "myname@yandex.ru"  ;; e-mail адреса пользователя
  user-full-name "MyName")      ;; полное имя пользователя

(setq gnus-select-method
      '(nnimap "POCHTA"      ;; здесь произвольное значение?
           (nnimap-address "imap.yandex.ru")
           (nnimap-server-port "imaps")
           (nnimap-stream ssl)
           (nnimap-authinfo-file "~/.authinfo")))

.authinfo:

machine POCHTA imap.yandex.ru login MyName password MyPassword port 993
machine POCHTA smtp.yandex.ru login MyName password MyPassword port 465

При запуске гнуса спрашвает следующее:

IMAP user at POCHTA (default system_username)

оставляю по дефолту, далее спрашивает

IMAP password for system_username@POCHTA

ввожу пароль, на что он отвечает

<return> is undefined



Последнее исправление: Dreamdrawer (всего исправлений: 1)

Ответ на: комментарий от Dreamdrawer

да, он. где то я читал о его устаривании не то на гмаил не то на яндекс сервисах, если все правильно помню.

Deleted
()

RTFM

machine POCHTA imap.yandex.ru login MyName password MyPassword port 993

“Netrc” files are a de facto standard.  They look like this:
     machine MYMACHINE login MYLOGINNAME password MYPASSWORD port MYPORT

(info "(auth) Help for users")

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: RTFM от Zmicier

Да прочёл я доки! Чесслово. Уже начал было перебирать все возможные и невозможные варианты, которые в сети нагуглил, и сомнения вызвало совпадение значений - логически непонятно зачем дублировать

(nnimap «imap.yandex.ru» ;; здесь произвольное значение?
(nnimap-address «imap.yandex.ru»)

Оказывается всё делал правильно. Заработало только после того как включил двухэтапную аутентификацию и создал пароли для приложений.

Dreamdrawer
() автор топика
Ответ на: комментарий от Dreamdrawer

Только вот файл

(nnimap-authinfo-file «~/.user-data/authinfo»)
подхватываться почему-то не желает, упорно требует логин/пароль и сохраняет их в ~/.authinfo.

Gnus (или ?) не понимает путь
~/.user-data/authinfo
ему требуется формулировка
/home/user/.user-data/authinfo

Как возможно указать либо путь относительный от папки /emacs.d, либо от папки пользователя - хочется иметь переносной конфиг.

Dreamdrawer
() автор топика
Ответ на: комментарий от Dreamdrawer

логически непонятно зачем дублировать

Не хотите − не дублируйте. А *возможность* присвоить «записи» произвольное имя вместо действительного имени удаленной машины, очевидно, строго необходима, если вы хотите пользоваться двумя и более пользователями на той машине.

здесь произвольное значение?

Да. При условии, что имя узла вы таки укажете явно, разумеется.

Оказывается всё делал правильно.

То, что написано в открывающем письме — неправильно — просто синтаксически некорректно, одно поле лишнее.

после того как включил двухэтапную аутентификацию

Ну это уже яндексовские заморочки.

Zmicier ★★★★★
()
Ответ на: комментарий от Dreamdrawer

хочется иметь переносной конфиг

А как это поможет? Мне казалось, что «переносной» у ГНУ Емакса как раз только $HOME, а не $HOME/.emacs.d/.

nnimap-authinfo-file

А где вы это взяли? Я выше сослался на главу в документации (info "(auth) Help for users"), вы ее прочли?

 -- Variable: auth-sources

     The ‘auth-sources’ variable tells the auth-source library where
     your netrc files or Secret Service API collection items live for a
     particular host and protocol.  While you can get fancy, the default
     and simplest configuration is:

          ;;; old default: required :host and :port, not needed anymore
          (setq auth-sources '((:source "~/.authinfo.gpg" :host t :port t)))
          ;;; mostly equivalent (see below about fallbacks) but shorter:
          (setq auth-sources '((:source "~/.authinfo.gpg")))
          ;;; even shorter and the _default_:
          (setq auth-sources '("~/.authinfo.gpg" "~/.authinfo" "~/.netrc"))
          ;;; use the Secrets API LOGIN collection
          ;;; (*note Secret Service API::)
          (setq auth-sources '("secrets:Login"))

     By adding multiple entries to ‘auth-sources’ with a particular host
     or protocol, you can have specific netrc files for that host or
     protocol.  Usually this is unnecessary but may make sense if you
     have shared netrc files or some other unusual setup (90% of Emacs
     users have unusual setups and the remaining 10% are _really_
     unusual).

     Here’s a mixed example using two sources:

          (setq auth-sources '((:source (:secrets default)
                                :host "myserver" :user "joe")
                               "~/.authinfo.gpg"))

Gnus (или ?) не понимает путь ~/.user-data/authinfo

Емакс понимает тильду.

Как возможно указать либо путь относительный от папки /emacs.d

/emacs.d, и даже ~/.emacs.d (что вы и имели в виду) — это уже готовые пути. Если же вы имеете в виду каталог, как бы он не назывался, то это user-emacs-directory, и соотвественно (expand-file-name "authinfo.gpg" user-emacs-directory).

Но повторюсь — если вы полагаете, что можно приказать что-то типа $ emacs --daemon --user-directory '/media/DREAMDRAWER/.emacs.d', то это не так [0]. Можно только $ HOME='/media/DREAMDRAWER/' emacs --daemon Так что то, что вы делаете — бесполезно.

[0] https://bugs.gnu.org/15539

~/.user-data/authinfo

И да, че в открытом виде-то? Почему не шифруете?

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

То, что написано в открывающем письме — неправильно — просто синтаксически некорректно, одно поле лишнее.

Ага, разобрался.

«переносной» у ГНУ Емакса как раз только $HOME, а не $HOME/.emacs.d/.

Да, но это статичная точка, от которой можно выстраивать свои конфиги. Под переносимостью я имею ввиду то, что при необходимости копируется один требующийся каталог (emacs.d например) и не надо искать по всей домашней директории, собирая обрывки конфигов, что бы всё работало на другой машине.

auth-sources

Разобрался, параметр nnimap-authinfo-file оказывается уже не работает — есть переменная auth-sources, в которой прописаны пути для authinfo. Для добавления своего местоположения добавил в файл инициализации:

(setq auth-sources '("~/.authinfo" "~/.authinfo.gpg" "~/.netrc" "~/.emacs.d/authinfo"))
После этого всё заработало.

яндексовские заморочки

Яндекс-почта так же заработала корректно.

~/.emacs.d это уже готовые пути

Терминологически оговорился. Поправка принимается.

(expand-file-name «authinfo.gpg» user-emacs-directory)

Взял на вооружение. Спасибо!

Почему не шифруете?

В процессе изучения вопроса. Предполагается.
Спасибо за подсказки!

Dreamdrawer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.