Calibre 常用命令行工具详解之 calibre-smtp
全能电子书管理软件 Calibre 除了可视化操作界面,还附带了一系列命令行工具(Command Line Interface),这些工具功能独立且实用。如果你熟悉命令行的使用,并且想要在处理电子书方面提高效率,抑或想要把一些和电子书处理相关的工作自动化,这些工具将会对你很有帮助。本文从 Calibre 在这些命令行工具中选择了常用的 3 型,分别为:ebook-meta
、ebook-convert
、calibre-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 中等。具体如何应用,以后书伴会陆续发表相关文章。
作者:萧娜
链接:https://www.58edu.cc/article/1506474553767964674.html
文章版权归作者所有,58edu信息发布平台,仅提供信息存储空间服务,接受投稿是出于传递更多信息、供广大网友交流学习之目的。如有侵权。联系站长删除。