如何透過 Zapier 實作「Send to Kobo」功能
Amazon Kindle 陣營的「Send to Kindle by E-mail」可以把電子書直接 E-Mail 到 Kindle 去閱讀,這樣的功能再與 Calibre 相結合更是如虎添翼。但是 Kobo 一直沒有這樣的機制!!
最近 Kobo Forma 將韌體更新至 4.18.13737 之後,會得到了一個全新的連結 Dropbox 功能,這功能讓我們可以把 Dropbox 做為額外的雲端書櫃。於是我就想到,能否也利用 Dropbox 來做到類似 Send to Kobo 的功能。
終於我透過了 Zapier 實作出了一鍵將電子書寄送到 Dropbox 去讓 Kobo 讀取,完成了一個非官方版的「Send to Kobo」,以此做為本篇的教學。
不過呢,因為目前 Kobo 只有最頂級的 Forma 可以連結 Dropbox,所以要套用本網頁的教學,原則上你得要有一台 Kobo Forma。但是,假如你就是脾氣硬、骨頭也很硬,硬是不想買一台 Kobo Forma 的話,也是可以把本網頁當成是 Zapier 的入門教學啦──學習如何將 Gmail 的附件上傳至 Dropbox。
廢話不多說,直接進入教學。首先,本教學會用到的程式與服務有:
- Dropbox: 請先將 Kobo Forma 與你的 Dropbox 帳號完成連結 (如果你要註冊新的 Dropbox 帳號,可以使用我的推薦連結: https://db.tt/45IWY6OK,這樣除了 Dropbox 免費的 2GB 容量之外,還可以再幫你、我各增加 500MB)。
- Calibre 與 KePub Output 外掛程式: 請自行安裝。
- Gmail: Gmail 在這裡所扮演的角色只是讓 Zapier 連進來取得附件。反正只是過過水,可以考慮註冊一個新的帳號來使用。
- Zapier: 因為免費的 Zapier 帳號只能建立 5 個 Zap,如果你還沒用過 Zapier 的話,建議用上一個步驟所註冊的 Gmail 來註冊一個新的 Zapier 帳號。新的 Zapier 帳號有兩週的試用期,可試用完整的付費功能 (註冊完得再進去「小鈴噹」執行「Confirm My Email」)。
請先在同一個瀏覽器登入上述的 Gmail、Zapier 與 Dropbox,還沒註冊的就先註冊。
以下都需照著各步驟來執行,因為後面的步驟需要去對照前一個步驟的結果。
1. Calibre
電子郵件設定
- 進入 Calibre 的「偏好設定」→「以電子郵件分享書本」,按「加入電子郵件」來加入你用來接收電子書的 Gmail 帳號,「格式」輸入 KEPUB,限定只能接受 KePub 格式的電子書,「主旨」欄位請留空白:
- 畫面下方的「Email Server」為寄件伺服器,請依照你的系統環境做設定。因為 Gmail 寄信會比較嚴格,因此我是使用 Microsoft 的 Outlook (Hotmail) 來寄信。
- 設定完按「儲存」結束。
寄送電子書
我們要來寄送一本電子書到前面設定的 Gmail 信箱。我找一本檔案比較小的書籍來做示範好了,啊~就是你啦《男人除了性還會想什麼》,這本書的容量那麼小,想必是一本言簡意賅的經典書籍! 而且據說這本書還被翻譯成 100 多國語言,很屌吧?!
寄送電子書步驟:
- 回到 Calibre 的主畫面,在要寄送的書名按滑鼠右鍵選「連線與分享」,將電子郵件寄到你設定的信箱:
- 因為我們在前面已經設定了寄到該 E-Mail 的電子書格式為「KEPUB」,因此,如果你的電子書不是「KEPUB」格式,Calibre 會詢問你要不要自動轉成「KEPUB」格式,按「是(Y)」才能繼續,按「否(N)」則是取消發送:
- 寄出電子書之後,主畫面右下角的「工作」數量會由 0 變成 1,你可以點進去查看 Calibre 的寄件狀況。
2. Gmail
查看郵件格式
登入 Gmail 查看 Calibre 寄過來的電子書內容:
- 主旨為「電子書: 男人除了性還會想到什麼」,這主旨我們待會在 Zapier 會用到。
- 附件的檔案名稱是英文拼音而不是中文檔名,這是 Calibre 的「特性」! 而其中的副檔名 .kepub 不是正確的 KePub 的副檔名! 正確的副檔名為 .kepub.epub,後續我們將在 Zapier 修正。
3. Zapier
Zapier 簡述
這幾年出現很多 SaaS (軟體即服務),他們有各自擅長的領域。Zapier 主要是用來串接不同的 SaaS,自動化幫你完成各種跨平台的任務,Zapier 號稱可支援 1,500+ 種應用程式和服務。
Zapier 將它們的「自動化範本」稱為「Zap」,基本的 Zap 是由一個「觸發器 (Trigger)」與一個「任務 (Action)」所組成,免費的 Zapier 帳號只能建立 5 個 Zap。
以下我們將建立一個由「Gmail 的附件」去觸發「Dropbox 上傳檔案」的 Zap:
建立 Gmail 觸發器
執行步驟:
- 在 Zapier 點選「Make a Zap!」。
- 自行輸入範本名稱,再依序選擇:
App → Gmail,
Trigger Event → New Attachment,
選好按「CONTINUE」繼續:
- 接著要授權 Zapier 可以存取你的 Google 帳戶,授權完按「CONTINUE」繼續:
- 這裡要來篩選 Gmail 裡的郵件:
如果這裡全部的欄位都沒輸入的話,那所有含有附件的電子郵件都符合規則,都將會被上傳到 Dropbox。因為我們只是要取得「電子書」的附件,因此要在「Search String」欄位輸入 subject:(E-book|電子書) filename:.kepub,這個搜尋字串是針對「主旨有包含『E-Book』或『電子書』字串,並且附件的副檔名為『.kepub』的郵件」才會符合 (這些搜尋字串其實就是 Gmail 的搜尋功能)。
另外,你可以看到上面還有一個「Label/Mailbox」欄位,這個欄位是用來套用 Gmail 既有的標籤或收件匣,你也可以先用 Gmail 的篩選功能分類好郵件,再從這邊選取,同樣可以達到篩選郵件的目的,這部份讀者可以自行研究。
設定好按「CONTINUE」繼續。 - 接下來我們要來測試上一個步驟的篩選條件是否可以找出我要的郵件,請按「TEST & REVIEW」繼續:
- Zapier 在我的 Gmail 找到一封符合篩選條件的郵件,按右邊的箭頭可以查看郵件的明細,確認是否為我要的電子書。如果有找到多封郵件,你可以點選郵件左邊的「藍色單選鈕」,表示之後的步驟要以這封郵件為範例。
若篩選郵件的結果正確,則按「Done Editing」完成 Gmail 的觸發器。如果篩選的結果不正確,請返回上一個步驟重新設定篩選條件。
建立 Dropbox 任務
執行步驟:
- 我們繼續點選「2. Do this ...」來設定 Dropbox:
- 請依序選擇:
App → Dropbox,
Action Event → Upload File,
選好按「CONTINUE」繼續:
- 接著要授權 Zapier 可以存取你的 Dropbox 帳戶,授權完按「CONTINUE」繼續:
- 這裡是重頭戲,請依序選擇:
Folder → Kobo 連結的 Rakuten Kobo 資料夾,
File → 1. Attachment,
Specify File Name → 1. Subject,
Specify File Extension → 可以讓你變更副檔名,因此我們要輸入 .kepub.epub:
從上圖可以看到,完整的檔案名稱是由「Specify File Name」與「Spceify File Extension」兩個欄位組成,你可以直接輸入字串,或點選欄位後方的「加入按鈕」來加入功能性變數,同一個欄位可以混合字串與變數。如果這兩個欄位都是空白,就不會變更附件的檔案名稱,你可以依需求做修改。
輸入完按「CONTINUE」繼續。 - 在這個步驟要進行 Dropbox 上傳檔案的測試:
按「TEST & REVIEW」進行測試。如果測試成功,電子書的檔案就會以你指定的命名方式存放到你的 Dropbox,你就可以按「TEST & CONTINUE」結束設定。如果沒有測試成功,請返回上一個步驟做修改。 - 後續跟著網頁把這個 Zap 給啟用,應該會看到這個啟用畫面:
看到這裡,表示 Zap 已經新增成功了! 它還告訴你這個 Zap 會每 5 分鐘執行一次。不過這應該是 Zapier 的新帳號在試用期內才會是 5 分鐘,試用期結束會變成 15 分鐘。
Task History
要查看每個 Zap 的執行記錄,可以進到 My Zaps,在該項目的下拉清單選「Task History」查看:
錯誤處理
本以為會是一個 Happy Ending,照著 Zapier 所說的每 5 分鐘執行一次。可是後續我寄到 Gmail 裡的電子書卻沒有如期上傳到我的 Dropbox!
查看它的 Task History,原來是有錯誤發生:
雖然看不懂錯誤是怎麼發生的,但是它有說可以照著上面的網址去跟 Gmail 重新取得授權,於是我複製網址、貼上瀏覽器,重新取得應用程式的授權,再啟用 Zap,後來就再也沒有發生錯誤了。
4. Dropbox
經測試,從 Calibre 寄出郵件,Kobo Forma 在約 5 ~ 10 分鐘之內可以在「My Dropbox」讀取到電子書 (試用期結束會變成 15 ~ 20 分鐘)。
連結的應用程式
分別再去查看它們三者所連結的應用程式及權限,大概會是這樣:
Dropbox
Zapier
相關問題
- 依照本網頁的教學,傳送到 Dropbox 的檔名前面會有「電子書:」這幾個字,是否能移除?
→ 因為「電子書:」這幾個字是來自於 Calibre 所寄出郵件的主旨,目前 Zapier 只能選用變數,沒有修改變數的功能,另外也沒有其它的變數比郵件的主旨更適合做為主檔名,所以目前無解。 - 在 Gmail 的觸發器中,如果想要篩選出全部「非」KePub 格式的電子書,要怎麼寫搜尋字串?
→ 加 - 代表「not」的意思,因此搜尋字串可以用: subject:(E-book|電子書) filename:-.kepub
功能比較
在實作出 Send to Kobo 之後,可以說是比 Amazon 的 Send to Kindle 還好用!
因為 Amazon 的 Send to Kindle 其實是有挑電子書格式的,寄送到 Kindle 的電子書,要不就是不能顯示封面、要不就是不能變更閱讀字型。而 Kobo 則是把 Dropbox 拿來當成雲端書櫃,Kobo 原本所支援的電子書格式都一樣支援,所以就沒有上述的問題了。
你好,
請問在設定email 伺服器的步驟,我欲使用同一個gmail帳號寄信到同一個gmail,但卻無法成功發信寄出電子書
主機名稱: smtp.gmail.com
連接阜: 587
Encryption: TLS
(這些是官方資訊,應該不會有問題)
請問有哪個環節出錯嗎?
謝謝。
你的設定應該是正確的,只是 Gmail 為了提高安全性,使用了兩步驟驗證與 Oauth2 才會導致寄信失敗 (我自己也常因為換換個地點就無法登入 Gmail)。
為了繞過 Gmail 的安全機制讓 Calibre 可以寄信,你必須:
啟用兩步驟驗證,然後設定應用程式專用密碼給 Calibre 使用。
若暫時還不想啟用兩步驟驗證,你只能允許「低安全性應用程式存取權」,這會整個降低 Gmail 的安全性。
因此我覺得 Gmail 比較麻煩,也不排除未來又會改變機制,所以我另外申請 Outlook 的帳號來寄信。
謝謝你的回覆,
我好不容易啟動兩步驟驗證、設定應用程式專用密碼、連結gmail與calibre,
結果,
在設定zapier的最後一個步驟時,zapier告訴我gmail已不再支援連結dropbox♀️
看來我注定不能用gmail,我要改用其他email了。