вы можете сделать это с небольшим количеством кода в Outlook и немного кода в Emacs.
во-первых, если вы используете Outlook 2007, вам нужно включить URL-адреса Outlook с дополнением реестра. Инструкции и файл реестра можно найти здесь любезно Дэвид Тан.
далее этот макрос можно добавить в Outlook и получить идентификатор GUID текущего сообщения электронной почты, создать ссылку в режиме организации и поместить его в буфер.
'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
почти там, добавьте этот маленький кусочек lisp в ваш каталог 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.
одно gotcha, изменение GUID когда вы перемещение сообщения между хранилищами документов, так что если вы получите идентификатор GUID сообщения, пока он находится на сервере Exchange, а затем переместить его в локальный файл PST ссылка изменится. Переместите сообщение до получения GUID.