金灵异

 找回密码
 立即注册

搜索

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

kindle用户
kindle用户  发表于 2018-11-25 03:05:09 |阅读模式
  全能型电子书管理软件 Calibre 除了有可视化操作界面,还附带了一系列命令行工具(Command Line Inte**ce),这些工具功能独立且实用。如果你熟悉命令行的使用,并且想要在处理电子书方面提高效率,抑或想要把一些和电子书处理相关的工作自动化,这些工具将会对你很有帮助。本文从 Calibre 提供的这些命令行工具中挑选了常用的 3 款,分别为:ebook-meta、ebook-convert、calibre-smtp,详细介绍它们如何使用,以及都适用于哪些应用场景。这些内容需要你懂一点点命令行知识。

  目录

  一、元数据命令:ebook-meta

  1、读取电子书元数据

  2、写入电子书元数据

  二、格式转换命令:ebook-convert

  1、基本用法

  2、转换示例

  3、可用选项

  4、应用场景

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

  1、基本用法

  2、转换示例

  3、可用选项

  4、应用场景

  本文涉及的命令行工具需要在“命令提示符”(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 邮箱,邮箱名是 example@163.com,其授权码密码为 123456,要推送一个文件名为 example.mobi 的电子书到 Kindle 邮箱 example@kindle.cn 同步到 Kindle 中,就可以通过运行下面这条指令来实现:

  calibre-smtp -a /path/to/example.mobi -r smtp.163.com --port=465 -e SSL -u example@163.com -p 123456 example@163.com example@kindle.cn ''

  以上指令中的可选项名用的是简称,如果想要用全称,也可以这样写:

  calibre-smtp --attachment=/path/to/example.mobi --relay="smtp.163.com" --port="465" --username="example@163.com" --password="123456" --encryption-method=SSL "example@163.com" "example@kindle.cn" ""

  在这条指令中 -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 十分不安全。

  4、应用场景

  除了可以使用 calibre-smtp 命令在命令行中发送邮件,还可以配合 ebook-convert 命令定时执行脚本抓取 RSS 新闻或任意网站页面,并推送到 Kindle 中等。具体如何应用,今后书伴会陆续推出相关文章。

  【 外刊杂志 】 仅 39 元即可获得 1 年 MOBI 格式《经济学人》杂志,新刊自动发送到指定邮箱。

  【 凑钱买书 】 对于较贵的电子书,以期望的价格与其他人一起凑钱购买。(点我看看都有些啥)

  “Kindle推送”延伸阅读:

  为何推送 KF8 标准 MOBI 电子书不显示封面

  解决 Calibre 推送“500 Error: bad syntax”错误

  EpubPress:把打开的多个网页转成一本电子书

  一触即达!“Kindle 伴侣推送服务”正式上线运营

  中亚 Send to Kindle 微信服务推送步骤变更

  图解传书流程:把电子书放进 Kindle 的几种方式

  中亚微信推送服务 Send to Kindle 全新升级

  如何让 Kindle 邮箱推送支持 epub 格式电子书

  Readability:定时或立即把长文推送到 Kindle

  新手 3 分钟 GET!视频版 Kindle 推送教程

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站所有内容均来自网友分享,不代表本站任何观点。

© 2019 jinfopai.com

快速回复 返回顶部 返回列表