send to kindle的另一种实现方式

发布 : 2019-01-07 分类 : 工具使用 浏览 :

问题描述

最近碰到了这样一种应用场景:

首先,当浏览网页时看到好的内容,想把整个页面内容推送到kindle,之后在Kindle上阅读;其次,我在阅读doc或其他文档时,发现有一些好的段落,于是想把它们推送到kindle稍后阅读;最后,也是最重要的一点就是以上两种场景我想用同一种操作方式来推推送。

对于以上的场景,我没有看到过有适当的解决方案,可能是这种需求比较变态吧。由于最近用Launchbar越来越顺手,什么操作都想用它来完成(Instant Sent真的是太方便了),并且Launchbar确实扩展性非常强大,所以打算自己打造一个Action来解决这个需求。

解决思路

KindleEar

如果没有KindleEar的出现,我也暂时没有好的方式来实现,但是上周搭建完KindleEar后,查阅他的FAQ时发现居然还有如此逆天的隐藏功能:

屏幕快照 2019-01-07 下午2.34.15

这个功能意味着我可以把KindleEar当作一个引擎,这个引擎有两个核心功能:

  1. 提取超链接所指向的网页的内容;
  2. 把提取的网页内容或者邮件发送的内容推送到Kindle。

有了这两个功能,我要做的仅仅是解决Launchbar前端调用邮件的功能。

KindleEar服务的搭建推荐一篇文章《KindleEar 搭建教程:推送 RSS 订阅到 Kindle》,文章对于零基础的搭建已经讲得很详细,之后我会写一些KindeEar相关的高级应用的文章(其实本文就可以算是KindeEar的高级应用)。

AppleScript

Launchbar上利用强大的Action来实现自动提取网页标题,自动填写收件人地址,自动填写邮件主题和内容等功能。其实我第一想到的不是用AppleScript来实现,因为在上一篇文章中我成功通过Python实现了利用Launchbar和Ulysses打造快捷资料搜集系统,所以本来也很想用Python来实现。但是有两个原因让我最终放弃了Python:

  1. 利用Python发邮件,需要配置第三方SMTP服务器的信息,不是太安全;
  2. Python发邮件是全后台进行的,我没法对邮件内容进行修改,也没法知道邮件发送状态。

所以最后觉得用AppleScript调用系统的Mail程序比较合适,额外还有一个好处是所有推送过的邮件都在发件箱里保存着。

实现过程

  1. 建立一个新的Action,名字,icon等按照自己的喜欢随便写,只是需要注意在scripts中选择AppleScript

    屏幕快照 2019-01-07 下午2.58.17

  2. 编写AppleScript脚本,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- LaunchBar Action Script
on handle_string(content)
set theSubject to ""
set theBody to content
set theAddress to "kindle@appid.appspotmail.com"

tell application "Safari"
set theSubject to name of front document
end tell

tell application "Mail"
set theNewMessage to make new outgoing message with properties {subject:theSubject, content:theBody & return & return, visible:true}
tell theNewMessage
set visibile to true
make new to recipient at end of to recipients with properties {address:theAddress}
end tell
activate
end tell
end handle_string

把以上代码set theAddress to "kindle@appid.appspotmail.com"中的appid替换成你自己KindleEar的appi就行。

实际操作

  • 如果想把浏览的网页推送到kindle阅读,只需要选择URL,然后Instant Send到Launchbar,选择“send To Kindle”;
  • 如果想把doc等文档内容推送到kindle,则可以选择文本段落,然后Instant Send到Launchbar,选择“send To Kindle”;

待改进

这套方案还不是集大成者,可以有很多改进的地方,比如:

  • 没有办法推送富文本内容;
  • 没有办法直接推送txt,doc,mobi等文件;

但是互联的的精神就是把不可能变成可能,只要能想到需求,总可以想出解决的办法,不是吗?

本文作者 : Peizhi
原文链接 : http://learso.com/passages/send-to-kindle的另一种实现方式/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹