Calibre 常用命令行工具詳解之 calibre-smtp

全能型電子書管理軟件 Calibre 除了有可視化操作界面,還附帶了一系列命令行工具(Command Line Interface),這些工具功能獨立且實用。如果你熟悉命令行的使用,並且想要在處理電子書方面提高效率,抑或想要把一些和電子書處理相關的工作自動化,這些工具將會對你很有幫助。本文從 Calibre 提供的這些命令行工具中挑選了常用的 3 款,分別為:ebook-meta、ebook-convert、calibre-smtp,詳細介紹它們如何使用,以及都適用於哪些應用場景。這些內容需要你懂一點點命令行知識。

本文涉及的命令行工具需要在“命令提示符”(Windows 系統)或“終端”(macOS 或 Linux 系統)中使用。如果電腦是 Windows 系統,一般在安裝好 Calibre 之後就可以使用。如果電腦是 macOS 或 Linux 系統,安裝 Calibre 之後需要手動把命令行工具的路徑添加到系統變量中才能直接使用。

三、郵件推送命令:calibre-smtp

calibre-smtp 是一個使用 STMP 協議發送郵件的命令。書伴之前寫過一篇使用 Calibre 推送電子書的教程《Calibre 使用教程之郵件一鍵推送電子書》,文中介紹的是通過右鍵菜單把 Calibre 書庫中的 mobi 格式的電子書推送到 Kindle 雲端。此功能的實現就是調用 calibre-smtp 這個命令實現的。

1、基本用法

Calibre 官方文檔給出的 ebook-convert 的指令用法如下:

calibre-smtp [options] [from to text]

此指令有兩部分參數,其中[options] 是指可添加多個可選項,如SMTP 服務器相關信息、附件文件路徑等,[from to text] 是三個參數,from 是指發送郵箱、to 是指接收郵箱、text 是指正文內容。

2、轉換示例

為了更直觀地理解 calibre-smtp 命令如何使用,我們來看一個應用示例。假設我們有一個163 郵箱,郵箱名是[email protected],其授權碼密碼為123456,要推送一個文件名為example.mobi 的電子書到Kindle 郵箱[email protected] 同步到Kindle 中,就可以通過運行下面這條指令來實現:

calibre-smtp -a /path/to/example.mobi -r smtp.163.com –port=465 -e SSL -u [email protected] -p 123456 [email protected] [email protected]

以上指令中的可選項名用的是簡稱,如果想要用全稱,也可以這樣寫:

calibre-smtp –attachment=/path/to/example.mobi –relay=”smtp.163.com” –port=”465″ –username=”[email protected]” –password=”123456 ” –encryption-method=SSL “[email protected]” “[email protected]” “”

在這條指令中-a 或–attachment 用來指定附件路徑,也就是要推送電子書文件的路徑;-r 或–relay 是SMTP 服務地址(比如163 郵箱用的是smtp.163.com) ;–port 是SMTP 服務器的端口(比如163 郵箱用的是465);-e 或–encryption-method 是SMTP 服務器使用的加密方式(比如163 郵箱的是SSL);-u 或–username 是郵箱名(一般是完整的郵箱地址);-p 或–password 是郵箱密碼。最後三個選項分別是:發信郵箱地址、收信郵箱地址和正文內容。注意,如果可選項的參數含有空格一定要用引號包含。

上面這條指令中所用到的或全部可用選項的詳細解釋,可以參考第三部分的“可用選項”。

在指令中使用 -a 或 –attachment 指定附件路徑的時候,可以使用附件文件的絕對路徑,也可以使用相對路徑,使用相對路徑要確保運行此指令的當前路徑和附件文件所在路徑是一致的。

由於推送電子書時郵件的標題和正文不是必須的,所以在指令中可以不使可選項指定郵件標題,正文也可以用空引號留空。如果你推送的電子書需要強制轉換格式,比如需要把 True PDF 文檔轉換成文本可選擇的 Kindle 電子書格式,則需要添加主題選項 -s ‘convert’ 或 –subject=”convert” 實現強制轉換。

不同郵箱的SMTP 服務所允許的密碼形式可能不一樣,比如163 郵箱的SMTP 服務就強制用戶使用“授權碼”而不能直接使用郵箱的登錄密碼,所以,如果當你在執行的指令中使用了郵箱登錄密碼卻出現了類似Error: authentication failed 這樣的錯誤提示,就需要檢查一下你使用的郵箱是否需要使用授權碼。

另外,為方便排查錯誤,還可以在指令中添加一個可選項 -v 或 –verbose 來跟踪指令執行過程。

3、可用選項

以下是 calibre-smtp 命令可用選項的詳細解釋。這些信息也可以通過執行 calibre-smtp –help 獲取。

可用選項:

-l LOCALHOST 或 –localhost=LOCALHOST

本機的主機名。連接 SMTP 服務器時使用。

-o OUTBOX 或 –outbox=OUTBOX

郵件投遞失敗信息的存放路徑。

-f 或 –fork

在後台處理投遞消息。使用此選項需要同時使用 –outbox 選項來管理投遞失敗信息。

-t TIMEOUT 或 –timeout=TIMEOUT

連接超時時間。

-v 或 –verbose

顯示郵件投遞過程的詳細信息。

-a ATTACHMENT 或 –attachment=ATTACHMENT

選擇郵件附件。

-s SUBJECT 或 –subject=SUBJECT

郵件標題。

-r RELAY 或 –relay=RELAY

發送郵件使用的 SMTP 中繼服務器。

–port=PORT

中繼服務器的端口。默認是 465(SSL 加密)和 25(不加密)。

-u USERNAME 或 –username=USERNAME

中繼的用戶名。

-p PASSWORD 或 –password=PASSWORD

中繼的密碼。

-e ENCRYPTION_METHOD 或 –encryption-method=ENCRYPTION_METHOD

連接到中繼時使用的加密方式。選項有 TLS、SSL 和 NONE(無),默認是 TLS。警告:選擇 NONE 十分不安全。

本文標題:《Calibre 常用命令行工具詳解之 calibre-smtp》,本文鏈接:http://www.yunjialeguanwang.com/archives/1684.html