Emacs 系列(四):使用 Org 模式自動管理郵件及同步文件
這是 Emacs 和 Org 模式系列的第四篇。
至今為止,你已經見識到了 Org 模式的強大和高效,如果你像我一樣,你可能會想:
“我真的很想讓它在我所有的裝置上同步。”
或者是說:
“我能在 Org 模式中轉發郵件嗎?”
答案當然是肯定的,因為這就是 Emacs。
同步
由於 Org 模式只使用文字檔案,所以使用任意工具都可以很容易地實現同步。我使用的是 git 的 git-remote-gcrypt
。由於 git-remote-gcrypt
的一些限制,每臺機器都傾向於推到自己的分支,並使用命令來控制。每臺機器都會先合併其它所有的分支,然後再將合併後的結果推送到主幹上。cron 作業可以實現將機器上的分支推送上去,而 elisp 會協調這一切 —— 確保在同步之前儲存緩衝區,在同步之後從磁碟重新整理緩衝區,等等。
這篇文章的程式碼有點多,所以我將把它連結到 github 上,而不是寫在這裡。
我有一個用來存放我所有的 Org 模式的檔案的目錄 $HOME/org
,在 ~/org
目錄下有個 Makefile 檔案來處理同步。該檔案定義了以下目標:
push
: 新增、提交和推送到以主機命名的分支上fetch
: 一個簡單的git fetch
操作sync
: 新增、提交和拉取遠端的修改,合併,並(假設合併成功)將其推送到以主機命名的分支和主幹上
現在,在我的使用者 crontab 中有這個:
*/15 * * * * make -C $HOME/org push fetch 2>&1 | logger --tag 'orgsync'
與之相關的 elisp 程式碼 定義了一個快捷鍵(C-c s
)來呼叫同步。多虧了 cronjob,只要檔案被儲存 —— 即使我沒有在另一個機器上同步 —— 它們也會被拉取進來。
我發現這個設定非常好用。
用 Org 模式發郵件
在繼續下去之前,首先要問自己一下:你真的需要它嗎? 我用的是帶有 mu4e 的 Org 模式,而且它整合的也很好;任何 Org 模式的任務都可以透過 Message-id
連結到電子郵件,這很理想 —— 它可以讓一個人做一些事情,比如提醒他在一週內回覆一條訊息。
然而,Org 模式不僅僅只有提醒。它還是一個知識庫、創作系統等,但是並不是我所有的郵件客戶端都使用 mu4e。(注意:移動裝置中有像 MobileOrg 這樣的應用)。我並沒有像我想的那樣經常使用它,但是它有它的用途,所以我認為我也應該在這裡記錄它。
現在我不僅想處理純文字電子郵件。我希望能夠處理附件、HTML 郵件等。這聽起來很快就有問題了 —— 但是透過使用 ripmime 和 pandoc 這樣的工具,情況還不錯。
第一步就是要用某些方法將獲取到的郵件放入指定的資料夾下。副檔名、特殊使用者等。然後我用一個 fetchmail 配置 來將它拉取下來並執行我自己的 insorgmail 指令碼。
這個指令碼就是處理所有有趣的部分了。它開始用 ripmime 處理訊息,用 pandoc 將 HTML 的部分轉換為 Org 模式的格式。 Org 模式的層次結構是用來儘可能最好地表示 email 的結構。使用 HTML 和其他工具時,email 可能會變得相當複雜,但我發現這對於我來說是可以接受的。
下一篇
我最後一篇關於 Org 模式的文章將討論如何使用它來編寫文件和準備幻燈片 —— 我發現自己對 Org 模式的使用非常滿意,但這需要一些調整。
作者:John Goerzen 譯者:oneforalone 校對:wxy
相關文章
- Emacs 系列(五):Org 模式之文件與演示稿Mac模式
- Emacs 系列(三): Org 模式的補充Mac模式
- 使用 OfflineIMAP 同步郵件
- 開始使用 Org 模式吧,在沒有 Emacs 的情況下模式Mac
- python自動發郵件Python
- Springboot 自動傳送郵件Spring Boot
- 高效使用 Org 模式模式
- Laravel 使用 rabbitmq 非同步傳送郵件小案例.LaravelMQ非同步
- 怎樣高效的多郵箱管理—實現同步管理所有電子郵件賬戶
- 郵件RPA流程自動化處理的原理及實際應用
- 乾貨丨RPA郵件自動化技巧
- win10郵件同步163郵箱的方法_win10郵件怎麼繫結163郵箱實現同步Win10
- 製作一個文件同步工具,自動同步到gitee中。。。Gitee
- 《奇巧淫技》系列-python!!每天早上八點自動傳送天氣預報郵件到QQ郵箱Python
- 163郵箱傳送郵件通知異常 org.springframework.mail.MailAuthenticationException: Authentication failedSpringFrameworkAIException
- 電子郵件協議及GO傳送QQ郵件協議Go
- 郵件營銷自動化:批次郵箱API傳送技巧與策略API
- Django+Celery非同步傳送郵件Django非同步
- SprinBoot~實現使用非同步任務優化郵件傳送boot非同步優化
- win10系統下outlook收到郵件後自動刪除郵件怎麼解決Win10
- nodejs什麼值得買自動簽到自動評論郵件傳送NodeJS
- python介面自動化(三十三)-python自動發郵件總結及例項說明番外篇下(詳解)Python
- Emacs使用Mac
- Spring boot 非同步/定時任務/郵件Spring Boot非同步
- SpringBoot之非同步、定時、郵件任務Spring Boot非同步
- 禪道開源版本12.4.1配置SMTP自動發郵件
- Vue管理系統前端系列四元件拆分封裝Vue前端元件封裝
- 測試平臺系列(88) 完成郵件通知功能(附贈精美郵件模板)
- 郵件營銷容易成為垃圾郵件的原因及解決方法
- 使用phpmailer傳送郵件PHPAI
- 使用 smtplib 傳送郵件
- win10系統中自帶郵件如何設定接收網易郵箱郵件Win10
- 郵件伺服器配置和管理伺服器
- Emacs基礎使用教程及常見命令整理Mac
- 通過 Org 模式管理 Chromium 和 Firefox 會話模式Firefox會話
- oracle資料庫自動發郵件實現報警功能Oracle資料庫
- 自動生成的電子郵件應該如何來檢測?
- Oracle 自動化運維-Python表空間郵件預警Oracle運維Python