Дополнительные пакеты

Отправка почты без использования дополнительных пакетов

GNU Emacs умеет отправлять электронную почту без использования каких-либо дополнительных пакетов. Для создания сообщения используется команда compose-mail, которая создает буфер *mail*.

Метод отправки и создания сообщения зависит от того, какое значение имеет переменная mail-user-agent. В настоящее время можно отправлять почту с помощью программы Sendmail, пакетов Emacs MH-E, Gnus и Message.

Для получения более подробной информации смотрите раздел Sending Mail в руководстве по GNU Emacs.

Пакет Supercite

Этот пакет позволяет гибко настроить параметры цитирования чужих писем при ответе на них почтой или в группы Usenet. Пакет поддерживает все основные пакеты Emacs для работы с почтой и новостями.

Когда вы отвечаете на письмо или статью, то производится вызов функции Supercite sc-cite-original, которая осуществляет анализ заголовков исходного текста, запоминая их параметры. Затем Supercite проходится по каждой из строк ответа и изменяет их в соответствии с заданными функциями преобразования. Оригинальное сообщение может быть отформатировано в соответствии с вашими предпочтениями во время работы функций Supercite.

Для того чтобы любой почтовый пакет Emacs стал использовать Supercite для цитирования писем, вам необходимо вставить в файл инициализации ~/.emacs следующую строку:

        (add-hook 'mail-citation-hook 'sc-cite-original)

Но если вы используете пакет Gnus, то вам надо добавить ещё и следующую строку

        (setq news-reply-header-hook nil)

которая предотвратит вставку одинаковых заголовков обоими пакетами. Более полную информацию вы сможете найти в справочных страницах Info, которые поставляются вместе с пакетом.

Пакет Mailcrypt

Этот пакет является интерфейсом к популярной системе шифрования PGP. Он позволяет работать как с оригинальным PGP, так и с его свободным клоном — GnuPG. Использование этих программ возможно из нескольких пакетов для работы с почтой — Gnus, VM, Rmail, MH-E, Mew. Среди реализованных операций — шифрование и расшифровка сообщений, подпись сообщений, проверка электронных подписей. Данный пакет входит в состав дистрибутивов ALTLinux. Кроме того, его можно скачать с сайта http://mailcrypt.sourceforge.net.

Вот как можно заставить Mailcrypt работать вместе с пакетом Gnus:

        (load-library "mailcrypt")
        (mc-setversion "gpg")
        (autoload 'mc-install-write-mode "mailcrypt" nil t)
        (autoload 'mc-install-read-mode "mailcrypt" nil t)
        (add-hook 'mail-mode-hook 'mc-install-write-mode)

Первые пять строк одинаковы для всех пакетов работы с почтой. Первая строка загружает пакет Mailcrypt. Вторая строка задает тип программы, которая будет использоваться для обработки почты (в нашем примере это gpg — GNU-версия программы PGP). Третья и четвертая строки описывают, что при вызове функций mc-install-write-mode и mc-install-read-mode необходимо подгрузить их из библиотеки mailcrypt. Пятая строка устанавливает ловушку на запуск режима работы с почтой (mail-mode).

        (add-hook 'gnus-summary-mode-hook 'mc-install-read-mode)
        (add-hook 'message-mode-hook 'mc-install-write-mode)
        (add-hook 'news-reply-mode-hook 'mc-install-write-mode)

Эти команды являются специфическими для пакета Gnus и устанавливают «ловушки» на создание списка сообщений, создание сообщения и режим ответа на сообщение в Usenet.

В составе пакета для GNU Emacs в дистрибутивах ALTLinux поставляется скрипт инициализации, в котором можно раскомментировать строку, соответствующую используемому вами пакету для работы с почтой. Полное описание пакета и примеры настройки можно найти в руководстве, которое поставляется вместе с пакетом.

Пакет BBDB

Этот пакет позволяет организовать на основе Emacs базу данных для хранения адресов, телефонов и прочей информации. Пакет обеспечивает интеграцию со многими популярными пакетами чтения новостей usenet и почты. Существуют утилиты, которые позволяют экспортировать эту базу данных в формате, понятном для программ синхронизации с популярным PDA Palm Pilot. Данный пакет входит в состав дистрибутивов ALTLinux. Кроме того, пакет можно скачать с его собственного сайта http://bbdb.sourceforge.net.

В руководстве, которое поставляется вместе с BBDB, приведены примеры настройки данного пакета для разных пакетов работы с почтой. Следующий пример демонстрирует настройку пакета для работы с почтой с помощью пакета Gnus:

        (require 'bbdb)
        (bbdb-initialize 'gnus 'message)
        (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
        (add-hook 'message-setup-hook 'bbdb-define-all-aliases)
        (defun my-message-mode-hook () (local-set-key [(tab)] 'bbdb-complete-name))
        (setq bbdb-use-pop-up nil)
        (defun my-bbdb-tab-complete ()
        (interactive)
        (if (mail-abbrev-in-expansion-header-p)
        (bbdb-complete-name)
        (message-tab)))
        (define-key message-mode-map [tab] 'my-bbdb-tab-complete)

Этот пример можно сразу помещать в ваш файл настройки Emacs. Предварительно стоит убедиться, что у вас установлены пакеты Gnus и BBDB.

Первая строка данного примера производит загрузку самого пакета. Вторая строка производит начальную настройку BBDB, указывая, что пакет будет использоваться вместе с пакетом Gnus (message — это специальный режим из поставки Gnus, который используется при создании электронных сообщений. Третья и четвертая строки устанавливают ловушки для правильной инициализации пакета при запуске соответствующих режимов. Пятая строка устанавливает локальную привязку клавиши Tab для дополнения имен из базы BBDB. Шестая строка запрещает открытие отдельного окна для отображения информации о выбранном пользователе (слишком частое открытие окна может просто раздражать, поэтому и используется такая настройка).

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