Вы можете сделать это с небольшим количеством кода в Outlook и небольшим количеством кода в Emacs.
Во-первых, если вы используете Outlook 2007, вам нужно включить URL-адреса Outlook с добавлением реестра. Инструкции и файл реестра можно найти здесь благодаря любезности Дэвида Тана.
Затем этот макрос можно добавить в Outlook, и он получит GUID текущего сообщения электронной почты, создаст ссылку в режиме Org и поместит ее в буфер обмена.
'Adds a link to the currently selected message to the clipboard Sub AddLinkToMessageInClipboard() Dim objMail As Outlook.MailItem Dim doClipboard As New DataObject 'One and ONLY one message muse be selected If Application.ActiveExplorer.Selection.Count <> 1 Then MsgBox ("Select one and ONLY one message.") Exit Sub End If Set objMail = Application.ActiveExplorer.Selection.Item(1) doClipboard.SetText "[[outlook:" + objMail.EntryID + "][MESSAGE: " + objMail.Subject + " (" + objMail.SenderName + ")]]" doClipboard.PutInClipboard End Sub
Почти там, добавьте этот маленький список в каталог emacs lisp, чтобы включить ссылки Outlook.
;;; org-outlook.el - Support for links to Outlook items in Org (require 'org) (org-add-link-type "outlook" 'org-outlook-open) (defun org-outlook-open (id) "Open the Outlook item identified by ID. ID should be an Outlook GUID." (w32-shell-execute "open" (concat "outlook:" id))) (provide 'org-outlook) ;;; org-outlook.el ends here
И, наконец, обновите файл .emacs, добавив в него код ссылки Outlook. Просто добавьте это куда-нибудь после настройки org-mode.
(require 'org-outlook)
Теперь вы можете вызвать макрос (я добавил его на свою панель инструментов в Outlook для быстрого доступа), и вы можете быстро создать ссылку на электронную почту в Emacs.
Одно замечание: изменение GUID при перемещении сообщения между хранилищами документов, поэтому, если вы получите GUID для сообщения, пока оно находится на вашем сервере Exchange, а затем переместите его в локальный файл PST, ссылка изменится. Переместите сообщение, прежде чем вы получите GUID.