Homeros/Mail

Материал из ALT Linux Wiki
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.


Базовая настройка почты

В рамках этого раздела будут приведены описания действий, необходимых для настройки на компьютере чтения электронной почты при помощи почтового клиента gnus, который поставляется вместе с редактором emacs. Приведённые здесь рекомендации должны подходить практически для любого дистрибутива GNU/Linux, за исключением раздела с описанием настройки локального почтового сервера, используемого для отправки писем. В начале работы убедитесь, что emacs, gnus и утилита fetchmail установлены на Вашем компьютере. Тексты приводимых здесь[1] конфигурационных файлов доступны для скачивания. Нужные ссылки будут приведены ниже. Русские комментарии в конфигурационных файлах указаны в кодировке UTF-8.

Настройка почтового клиента gnus

Необходимо отметить, что emacs и gnus не выполняют работу по доставке писем с почтового сервера и не занимаются отправкой сообщений. Эти действия выполнят утилита fetchmail и локальный почтовый сервер, настройка которых будет приведена ниже.

Необходимая конфигурация gnus обычно хранится в двух конфигурационных файлах:

  • ~/.emacs
  • ~/.gnus

Здесь символ ~ обозначает Вашу домашнюю директорию. Первый файл является основным конфигурационным файлом редактора emacs. Обратите внимание, что этот файл уже может существовать в Вашей домашней директории. В этом случае Вы должны выполнить аккуратную правку существующей копии, вставляя приводимые здесь параметры. Обратите также внимание, что эти файлы являются скрытыми, так как содержат в начале своего имени точку. Правило считать файлы с точкой в начале имени скрытыми — традиция UNIX. Поэтому эти файлы могут не отображаться в файловых менеджерах, у которых выставлена опция не показывать скрытые файлы.

Файл ~/.gnus приводится в таком виде, что для начала работы его правка не должна требоваться. В большинстве случаев должно быть достаточно загрузить приводимый пример и расположить его в домашней директории.

Прежде всего необходимо обратить внимание на параметры файла ~/.emacs, где указывается Ваша личная информация.

Содержимое файла ~/.emacs (загрузить можно здесь):


;; Установка e-mail адреса пользователя:
(setq user-mail-address "ivan@petrov.ru")

;; Установка полного имени пользователя:
(setq user-full-name "Ivan Petrov")

;; Явная загрузка w3m и отключение напоминания ссылок (раскомментируйте при необходимости):
;;(require 'w3m)
;;(remove-hook 'w3m-after-cursor-move-hook 'w3m-print-this-url)

Параметры в этом примере пояснены в комментариях. Нужно более подробно остановиться на параметре, связанном с работой браузера w3m. Этот браузер может использоваться для чтения писем в формате HTML, и обычно он даёт подсказки о ссылках на странице, что часто мешает работе. Приводимый параметр отключает это поведение. Также указана команда для явной загрузке w3m, так как модификация[2] параметров может не работать, если браузер ещё не был загружен. Иногда загрузка выполняется во время работы непосредственно в момент, когда требуется просмотр веб-страниц. В дистрибутивах ALT Linux этот параметр можно не модифицировать, так как это уже выполнено, если учётная запись пользователя создавалась командой useradd-homeros, то есть с явным указанием, что это учётная запись для работы с речевым интерфейсом.

Текст файла ~/.gnus (загрузить можно здесь):

(setq gnus-select-method '(nnml ""))
(setq mail-sources '((file)
;; Раскомментируйте строку ниже и укажите директорию, если нужно получать письма от procmail:
;;		     (maildir :path "~/.maildir/")
))

;; Имя группы постоянно доступной в списке (например для личной почты):
(setq  gnus-permanently-visible-groups "private")

;; Правила для автоматического разложения писем по группам;
;; Каждая строка содержит сначала имя группы, затем выражение для фильтрации;
;; По умолчанию разложение не производится;
(setq nnmail-split-methods '(
;;	("integr" "^List-Id:.*integr\\.yahoogroups\\.com")
;;	("ransis" "^List-Id:.*ransis\\.googlegroups\\.com")
;;			     ("blinux" "^List-Id:.*blinux-rus\\.lists\\.a11ywiki\\.org")

;; Имя группы по умолчанию:
	("private" "")
))

;; Упрощение строки информации о сообщении:
(setq gnus-summary-line-format "%U%R%I%(%[%-20,20n%]%) %s\n")

Как указывалось выше, скорее всего, Вам не нужно корректировать его содержимое для начала работы. Вот справка по некоторым операциям с почтой в emacs:

  • для создания нового сообщения нужно выполнить команду
 message-mail в emacs. Команды можно вводить после
 нажатия клавиши M-x (Alt+X). (команды можно также назначать
 на горячие клавиши для удобства);
  • для запуска gnus нужно выполнить одноимённую команду;
  • для просмотра содержимого группы или сообщения в ней нужно нажимать
 пробел;
  • ответить на выбранное сообщение можно путём нажатия клавиши
 R;
  • отправить составленное сообщение можно при помощи двойного нажатия
 конбинации C-c (Ctrl+C);
  • выход из группы или вообще из почтового клиента можно выполнить при помощи
 клавиши q.

Текст личной подписи для автоматического[3] добавления в сообщения нужно сохранить в файле ~/.signature. emacs автоматически проверяет наличие этого файла и выполняет вставку его содержимого в новые письма.

Настройка утилиты fetchmail

Утилита fetchmail выполняет доставку сообщений с почтового сервера в локальное хранилище писем, создаваемое для каждого пользователя в системе. Gnus при своём запуске проверяет это хранилище и забирает письма.

Утилита fetchmail может быть использована в двух вариантах:

  • локально, когда конфигурация хранится внутри домашней директории
 пользователя, и команда для проверки почты запускается пользователем
 явно;
  • системно, когда конфигурация указывается в системном файле, и
 возможно автоматическая регулярная проверка почтовых сообщений.

Явный запуск выполняется командой fetchmail. Указать, что служба для автоматической регулярной проверки почты должна запускаться при загрузке компьютера можно командой chkconfig on fetchmail (имя этой команды, а также имя системного конфигурационного файла приводится для дистрибутивов ALT Linux., в других системах оно может отличаться).

В локальной конфигурации необходимо создать файл ~/.fetchmailrc со следующим содержанием (текст можно скачать здесь):

poll pop.service.ru protocol pop3 user "user" password "password"

Системный файл необходимо сохранять как /etc/fetchmailrc. Ниже приводится примерный текст (доступно для загрузки здесь):

# Задержка для регулярной проверки:
set daemon	300
set no bouncemail

poll foo.pop.service.ru with protocol pop3
  user username there is localusername here password "password"

В обоих вариантах Вам нужно указать личные данные, такие как имя пользователя, пароль и имя сервера.Обратите внимание, что операции по системной настройке fetchmail должны выполняться от имени пользователя root.

Настройка локального почтового сервера

Как указывалось ранее, содержимое этого раздела подходит только для дистрибутивов ALT Linux. В этих системах используется почтовый сервер postfix. Для настройки необходимо выполнить две операции:

  • указать имя сервера для посылки писем. Это нужно сделать, указав
 параметр relayhost в файле
 /etc/postfix/main.cf. Например так:
 relayhost=101.102.103.104;
  • выполнить команду control postfix server.

Обе эти операции должны выполняться от имени пользователя root. После выполнения приведённых операции на Вашем компьютере должна быть подготовлена среда для обмена электронной почтой.

Благодарности

Материал этого раздела написан по итогам обсуждения в рассылке blinux-rus.

В обсуждении принимали участие:

  • Дмитрий Падучих
  • Игорь Порецкий