Emacs. Почта. Mu4e

Mu4e — режим для чтения почты в Emacs.

Содержание

1 Установка

  • Клиент mu4e является интерфейсом к программе индексирования почты mu (URL: https://www.djcbsoftware.nl/code/mu/).
  • Поэтому вначале нужно установить эту программу.

1.1 Gentoo

USE="emacs" emerge -v mu

2 Структура каталогов

Почтовые ящики будут находиться в каталоге ~/Maildir.

3 Получение почты

Для почты mu поддерживает формат maildir1. Для скачивания почты можно использовать разные программы.

  • Для внешнего сервера IMAP или POP можно использовать такие инструменты, как getmail, fetchmail, offlineimap, isync, чтобы загрузить свои сообщения в формате maildir.
  • При использовании локального почтового сервера (postfix, qmail) настраивается сохранение сообщений в формате maildir.

3.1 Синхронизация mbsync

3.2 Инициализация

  • Перед использованием необходимо инициализировать базу данных писем:
    mu init --maildir=~/Maildir \
       --my-address=account1@domain1 \
       --my-address=account2@domain2
    
  • Можно это выполнить скриптом:
    #!/bin/sh
    
    list_imap=$(grep -e "^IMAPAccount" ~/.mbsyncrc | cut -d" " -f2 | xargs -I {} -n 1 echo "--my-address="{})
    mu init --maildir=~/Maildir $list_imap
    
  • Я использую скрипт, поскольку у меня кэш находится на временной файловой системе, и не сохраняется при перезагрузке.

3.3 Индексирование почты

  • После загрузки писем необходимо инициализировать базу данных mu и про индексировать электрические письма:
    mu index
    

4 Сочетания клавиш

4.1 Передвижение по сообщениям

  • Работают, когда Вы находитесь в режиме просмотра сообщения.
КлавишиОписание
n, pпросмотреть следующее, предыдущее сообщение
], [перейти к следующему, предыдущему непрочитанному сообщению
yпереключиться на список заголовков (и обратно)
RETпрокрутить вниз
M-RETоткрыть URL или вложение (в точке курсора)
SPCпрокрутить вниз, если конец сообщения, то перейти к следующему
S-SPCпрокрутить вверх

4.2 Поиск

КлавишиОписание
sпоиск
Sредактировать последний запрос
/сузить поиск
bпоиск по закладке
Bредактировать закладку перед поиском
jперейти в конкретный почтовый каталог
M-leftпредыдущий запрос
M-rightследующий запрос

4.3 Маркировка сообщений

КлавишиОписание
dотметка для отправки в корзину
=отметка для снятия отметки об отправке в корзину
DEL, Dотметка для полного удаления
mотметка для отправки в другую почтовую папку
rотметка для архивирования
+, -отметка для установки/снятия флага
uснять отметку с сообщения
Uснять отметку со всех сообщений
%отметка на основе регулярного выражения
T, tотметить всю ветку/подветку
<insert>, *отметить для отложенного действия
#выполнить с отметкой для отложенного действия
xвыполнить действие для отмеченных сообщений

4.4 Создание сообщения

КлавишиОписание
R, F, Cответить/переслать/написать
Eредактировать (для черновиков сообщений)

4.5 Действия

КлавишиОписание
gперейти к пронумерованному URL (используя browse-url)
<mouse-1> на URLперейти к пронумерованному URL (используя browse-url)
M-RET на URLперейти к пронумерованному URL (используя browse-url)
C-u gпосещение нескольких URL-адресов
fзагрузить пронумерованный URL
C-u fзагрузить несколько URL-адресов
kсохранить пронумерованный URL-адрес в буфер
C-u kсохранить несколько URL-адресов
eсохранить одно или несколько вложений (запрашивается номер)
<mouse-2> на вложениисохранить одно или несколько вложений (запрашивается номер)
S-RET на вложениисохранить одно или несколько вложений (запрашивается номер)
C-u eвыбрать вложения из списка для сохранения
С-SPCпометить вложение в списке
aвыполнить действие над сообщением
Aвыполнить действие над MIME-частями сообщения

4.6 Разное

КлавишиОписание
;переключить контекст
.показать исходный вид сообщения. q — отключить исходный вид сообщения
C-+, C--увеличить/уменьшить количество отображаемых заголовков
Hподсказка (help)
C-S-uобновить почту и переиндексировать
qпокунуть просмотр сообщений

5 Интеграция

5.1 Создание сообщений

5.2 Интеграция с org-mode

5.2.1 Предварительная настройка

  • Подключаем библиотеку для связи с org:

    (require 'mu4e-org)
    
  • Следует активировать генерацию ссылок на почтовые сообщения:

    (setq mu4e-support-org t)
    
    • Это значение задано по умолчанию.
  • Можно захватывать ссылки для того, чтобы добавить сообщения электронной почты в свой список дел.

  • Для захвата ссылок используется функция mu4e-org-store-and-capture.

5.2.2 Шаблон для захвата

  • Можно добавить специальный шаблон захвата.

  • Для шаблонов захвата доступны следующие значения для mu4e:

    ШаблонОписание
    %:date, %:date-timestamp, %d:date-timestamp-inactiveдата, отметки времени
    %:from, %:fromname, %:fromaddressотправитель, имя, адрес
    %:to, %:toname, %:toaddressполучатель, имя, адрес
    %:maildirпочтовый каталог для сообщения
    %:message-idидентификатор сообщения
    %:pathпуть в файловой системе
    %:subjectтема сообщения
  • Примерный вид шаблона для захвата:

    (add-to-list
     'org-capture-templates '("M" "TODO from mail" entry (file org-default-notes-file)
                              "* TODO %:fromname: %:subject %?\nDEADLINE: %(org-insert-time-stamp (org-read-date nil t \"+2d\"))\n%a\n\n%i"))
    
    • Сообщение добавляется в список дел и устанавливается крайний срок для его обработки в течение двух дней.
    • Шаблон %a добавляет ссылку на письмо в mu4e.
    • Шаблон %i добавляет выделенный фрагмент письма.

5.2.3 Захват сообщения

  • Можно задать комбинации клавиш для захвата:
    (define-key mu4e-headers-mode-map (kbd "C-c c") 'mu4e-org-store-and-capture)
    (define-key mu4e-view-mode-map    (kbd "C-c c") 'mu4e-org-store-and-capture)
    
  • Теперь при нажатии комбинации C-c c при просмотре сообщения или при просмотре списка сообщений запрашивается шаблон захвата и ссылка на письмо захватывается.

5.2.4 Копирование ссылки на сообщение

  • В режиме просмотра сообщений (Message view) можно сохранить ссылку на конкретное сообщение: M-x org-store-link.
  • В режиме просмотра списка сообщений (Headers view) выполнение M-x org-store-link:
    • создаёт ссылку на запрос, если mu4e-org-link-query-in-headers-mode не равен nil;
    • создаёт ссылку на конкретное сообщение, если mu4e-org-link-query-in-headers-mode равен nil (по умолчанию).
    • Команда обычно привязана к C-c l.
  • Ссылку можно вставить командой M-x org-insert-link (сочетание клавиш C-c C-l).

5.2.5 Переход на письмо

  • В режиме org вы можете перейти к сообщению, на которое указывает ссылка:
    • с помощью M-x org-scheme-open-link в буфере повестки дня (agenda);
    • с помощью M-x org-open-at-point в другом месте.
  • Оба действия обычно привязаны к C-c C-o.

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

6.1 Чтение писем

6.1.1 mu4e-views

  • Пакет позволяет пользователю выбирать вариант просмотра электронных писем.
  • Основной вариант использования — просмотр электронные письма с использованием окна xwidgets.
  1. Общая информация

6.2 Написание писем


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие