Kindle 伴侣在之前曾经写过一个教程《通过电子邮箱附件推送文档到Kindle》,内容是手动用电子邮箱推送电子书到 Kindle,本文将要介绍的用 Calibre 推送的方式可以让推送过程更方便。
目录
跟着下面的步骤简单的设置以下就可以享受便捷的一键推送了。
深入探索
图书与文学
Kindle Oasis
新手入门指南
一、推送设置及推送步骤
在开始下面步骤之前请确保你有一个电子邮箱并且你的Kindle设备已经和你的亚马逊账号进行了绑定。如果没有亚马逊账号请点击这里(亚马逊中国)或点击这里(美国亚马逊)先自行注册。详细步骤可参考《通过电子邮箱附件推送文档到Kindle》。
1、下载安装 Calibre
Calibre 支持多种操作系统,你可以下载与你所使用的操作系统想对应的版本:
深入探索
ebook
电子邮件
下载 Calibre:https://bookfere.com/tools#calibre
2、添加接收邮箱
点击“首选项”图标,找到“分享”分类,点击“通过邮件分享”。在弹出的对话框中点击右边的【添加邮件地址】按钮,填入和你的Kindle设备绑定的推送接收邮箱(可添加多个)。接收推送的邮箱可以在【管理我的内容和设备】中的【我的设备】选项卡页面找到。
注意,现在 Kindle 已支持推送 EPUB 格式,为了避免在推送时电子书被 Calibre 自动转换成 MOBI 格式,需要在添加邮件地址时,将“格式”那一栏中的 MOBI 删掉,仅保留 EPUB。

▲ 将格式更改为 EPUB 以避免自动转换 MOBI 格式
3、填写推送邮箱
在下面的“发信人地址”中填写你的电子邮箱。注意请确保该邮箱已经添加到亚马逊官网 Kindle 管理后台的【设置】页面中的“已认可的发件人电子邮箱列表”中(这一项在设置页面底部)。
4、配置邮箱服务器
如果你用的是 Gmail 邮箱,直接点右边相应的图标填写你的邮箱地址及用户名密码即可,软件将会自动为你填写主机名和端口。如果使用其他的邮箱请自行填写邮箱服务器设置并填入你的邮箱用户名和密码。常见的几个邮箱服务器如下:
服务商主机名端口加密类型备注Gmailsmtp.gmail.com465
587SSL
TLS* 中国网络需要使用网络代理(VPN)
* 必须开启两步验证并使用生成的应用密码163smtp.163.com465
587SSL* 新注册邮箱可能无法立即使用
* 密码请使用授权码而非登录密码
* 频繁发信可能会被禁用 SMTP126smtp.126.com465
587SSLYeahsmtp.yeah.net465
587SSLQQsmtp.qq.com465SSL* 密码请使用授权码而非登录密码
提示 1: 一定要确保填写的端口是正确的,不要把 465 写成 465,或 587 写成 578等。
提示 2: 以上列出的邮箱附件大小最大限制,除 Gmail 是 25MB 外皆为 50MB。
邮件参数填写效果如下:

5、测试发送邮件
全部设置完毕后点击右下角的“测试邮件发送”按钮,会出现“该操作会在屏幕上明文显示你的电子邮件地址密码。要继续吗?”的提示,点击“是”会弹出一个测试对话框,点击“测试”按钮,如果显示框出现“邮件已发出”即表示设置成功,否则请检查设置重试。点击“确定”按钮退出该对话框。点击左上角的“应用”按钮保存刚才的设置,结束设置。
* 测试邮件发出后不久,亚马逊Kindle客服的自动回复系统会向你的推送邮箱发送一封主题为“你发送至Kindle的邮件未附任何文件附件”的提示邮件,请忽略。
6、一键推送图书
回到主界面书库,选择一个或多个电子书,右键点击所选电子书,在弹出的菜单里将鼠标指针悬浮到“连接/共享”,在弹出的子菜单中点击“发送右键至***@kindle.cn”(***@kindle.cn 就是第2步填写的那个邮箱),就可以直接把这些电子书发送到你亚马逊账户中的【我的内容】中了。
当我们将 EPUB 等格式的电子书转换成 MOBI 格式后,只需要通过右键菜单就可以将转换后的电子书推送到亚马逊的云端了,是不是很方便。快来试试吧!
二、问题排查及常见错误
如果你无法推送成功,请仔细检查“发信人地址”和邮件服务器中的“用户名”是否都是“xxx@xxx.com”这样的格式,比如你的邮件是“ test@simple.com”,那么设置中的“用户名”和“发信地址”都应该填写“test@simple.com”,“用户名”不能只填写“test”,“发信地址”也不能只填写“@simple.com”。
另外还需要检查端口是否填写正确,一般邮箱可选择“加密”类型为 SSL,端口号应该填写 465 或 587;Gmail 的“加密”类型为 TLS,端口号为 587。
如果设置完成后,测试推送或推送电子书时出现以下错误,可以参考以下相应的解决办法:
1、错误提示之一
SMTPAuthenticationError: (550, ‘\xd3\xc3\xbb\xa7\xb1\xbb\xcb\xf8\xb6\xa8′)【解决办法】
错误提示中的“乱码”意思是“用户被锁定”。如果你的 163 邮箱是新注册账号,可能会出现这个这是因为 163 邮箱为防止 SMTP 外泄和滥用,默认没有开启客户端 SMTP 功能。开通 SMTP 需要先进入【设置】页面,在侧边找到【POP3/SMTP/IMAP】这一项,把“开启SMTP邮件”这一项勾选上(注意这里需要手机验证)即可正常使用。
2、错误提示之二
SMTPAuthenticationError: (454, ‘Authentication failed, please open smtp flag first!’)
SMTPAuthenticationError: (535, ‘Error: authentication failed’)【解决办法】
如果你的 QQ 邮箱出现该错误,请先进入该邮箱的网页版,进入邮箱的【设置】页面,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”这一项,把其中的“POP3/SMTP服务”开启即可正常使用。
如果你使用的是 163 邮箱,请登陆网页版邮箱,进入【设置】页面,在侧边找到【POP3/SMTP/IMAP】这一项,把“开启SMTP邮件”这一项勾选上(注意这里可能需要手机验证)。
3、错误提示之三
SMTPServerDisconnected: Connection unexpectedly closed解决办法:
这是因为 QQ 邮箱自身原因,请转用其他如 163 邮箱。
4、错误提示之四
reply: ‘535 Error: authentication failed\r\n’
reply: retcode (535); Msg: Error: authentication failed【解决办法】
请检查下邮箱设置中“客户端授权密码”有没有被开启?如果此功能已开启,则需要使用授权密码而不是邮箱登录密码。
5、错误提示之五
554 DT:SPM【解决办法】
此错误常出现在 163 邮箱,官方说明为:554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件。可能由于大量发送邮件导致的,如果遇到此错误请更换其他邮箱。
6、错误提示之六
500 Error: bad syntax\r\n5.5.4 Invalid domain name【解决办法】
Windows 下可能会出现此错误,这可能是因为网络属性中的“连接特定的 DNS 后缀”值带有空格导致的。在“控制版面”中打开“网络和共享中心”,点击现在使用的网络连接,然后点击【详细信息】查看“连接特定的 DNS 后缀”的值,看是否带有空格,如果有则需要修改一下。具体步骤为:点击【属性】按钮,双击“Internet 协议版本 4(TCP/IPv4)”这一项,再点击【高级】按钮,切换到“DNS”标签,把“此连接的 DNS 后缀”清空或修改为 HOST,依次确认保存。至此问题可得到解决。via
更详细的操作步骤参见《解决 Calibre 推送“500 Error: bad syntax”错误》这篇文章。
7、错误提示之七
error: [Errno 10060]【解决办法】
错误提示无法建立连接。检查一下你的电脑是否使用了网络代理,或者有防火墙、病毒软件之类的阻止了 SMTP 的连接。
8、错误提示之八
SMTPSenderRefused: (553, ‘Mail from must equal authorized user’, u’1584624613@qq.com’)【解决办法】
SMTP 服务器拒绝的原因是发信邮箱和发信人名称不一致。假设你使用的是 163 邮箱,如果你的发信邮箱是 example@163.com,那么发信人名称也应该是 example@163.com,而不是 example,更不能是其它邮箱地址。简单说就是直接用你的 Email 做用户名就可以了。
9、错误提示之九
File “ssl.py”, line 828, in do_handshake
error: [Errno 10054]或者
File “socket.py”, line 575, in create_connection
error: [Errno 10060]【解决办法】
错误提示无法建立连接。由于每个人的电脑环境不同,出现此问题的原因可能也不尽相同,建议检查一下你的电脑是否使用了网络代理,或者有防火墙、病毒软件之类的阻止了 SMTP 的连接。
10、错误提示之十
smtplib.SMTPDataError: (554, b’DT:SPM 163 smtp12,EMCowABXfZ1YQGphxxyIEQ–.191S2 1634353251,please see http://mail.163.com/help/help_spam_16.htm?ip=127.0.0.1&hostid=smtp12&time=1634353251′)【解决办法】
此问题常见于 163 邮箱。错误提示中给出了错误代码 554 和“退信代码说明”页面链接,根据说明的显示,引发此问题的原因为:
554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件
这可能是某些行为触发了 163 邮箱设定的限制规则,它没有给出更具体的说明。最快的解决方法是换一个邮箱,建议选择 Gmail 等限制没那么多的邮箱。
11、错误提示之十一
OSError: Failed to send mail: SMTPRecipientsRefused({'xxx@kindle.com': (550, b'5.7.1 IP address blacklisted by recipient')})【解决办法】
此错误的原因是发送邮件的 IP 地址被接收方列为黑名单。如果你没有使用邮箱服务商提供的 SMTP,建议根据邮箱服务商提供的 SMTP 信息正确设置 SMTP 服务器。如果你使用的是邮箱服务商提供的 SMTP,可以换其他邮箱服务商试试看。
三、解决显示拼音书名问题
通过亚马逊 Send to Kindle 服务提供的五种方式推送到 Kindle 的电子书会显示为推送时的文件名,而 Calibre 会自动将电子书的文件名从中文书名转换成拼音书名,并且未提供相关的设置,因此只要通过其内置的邮件功能推送电子书,发送到 Kindle 后都会显示拼音书名。
你可以为 Calibre 安装一款由书伴开发的名为 Send to Kindle 的插件来解决这个问题,详情请移步《如何解决 Calibre 推送中文书到 Kindle 显示拼音书名问题》。
本文为转载 「书伴」原创文章,出处及原文链接:https://bookfere.com/post/11.html
© 「Ereadertoolbar」原创文章,转载请注明出处及原文链接:https://ereadertoolbar.xyz/tutorial/article/use-calibre-send-your-book-to-kindle/