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

全能电子书管理软件 Calibre 除了可视化操作界面,还附带了一系列命令行工具(Command Line Interface),这些工具功能独立且实用。如果你熟悉命令行的使用,并且想要在处理电子书方面提高效率,抑或想要把一些和电子书处理相关的工作自动化,这些工具将会对你很有帮助。本文从 Calibre 在这些命令行工具中选择了常用的 3 型,分别为:ebook-metaebook-convertcalibre-smtp,详细介绍它们如何使用,以及都适用于哪些应用场景。这些内容需要你懂一点点命令行知识。

   

目录

   

1、元数据命令:ebook-meta
1、读取电子书元数据
2、写入电子书元数据
2、格式转换命令:ebook-convert
1、基本用法
2、转换示例
3、可用选项
4、应用场景
3、邮件推送命令:calibre-smtp
1、基本用法
2、转换示例
3、可用选项
4、应用场景

本文涉及的命令行工具需要在命令提示符中使用(Windows 系统)或终端(macOS 或 Linux 系统)使用。如果电脑是 Windows 系统一般安装在 Calibre 之后就可以用了。假如电脑是 macOS 或 Linux 系统,安装 Calibre 直接使用前,需要手动将命令行工具的路径添加到系统变量中。

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

calibre-smtp    是一个使用 STMP 协议发送电子邮件的命令。书伴之前写过一篇使用 的文章Calibre 推电子书教程《Calibre 用教程邮件一键推电子书》,本文通过右键菜单介绍了 Calibre 书库里的 mobi 格式电子书推送到 Kindle 云。此功能的实现是调用 calibre-smtp    这个命令实现了。

1、基本用法

Calibre 官方文档给出的 ebook-smtp    指令用法如下:

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 中等。具体如何应用,以后书伴会陆续发表相关文章。

阅读剩余
THE END