Calibre 使用教程之通过邮箱一键推送 Kindle 电子书
Kindle 伴侣在之前曾经写过一个教程《通过电子邮箱附件推送文档到Kindle》,内容是手动用电子邮箱推送电子书到 Kindle,本文将要介绍的用 Calibre 推送的方式可以让推送过程更方便。
跟着下面的步骤简单的设置以下就可以享受便捷的一键推送了。
一、推送设置及推送步骤
在开始下面步骤之前请确保你有一个电子邮箱并且你的Kindle设备已经和你的亚马逊账号进行了绑定。如果没有亚马逊账号请点击这里(亚马逊中国)或点击这里(美国亚马逊)先自行注册。详细步骤可参考《通过电子邮箱附件推送文档到Kindle》。
1、下载安装 Calibre
Calibre 支持多种操作系统,你可以下载与你所使用的操作系统想对应的版本:
下载 Calibre:https://bookfere.com/tools#calibre
2、添加接收邮箱
点击“首选项”图标,找到“分享”分类,点击“通过邮件分享”。在弹出的对话框中点击右边的【添加邮件地址】按钮,填入和你的Kindle设备绑定的推送接收邮箱(可添加多个)。接收推送的邮箱可以在【管理我的内容和设备】中的【我的设备】选项卡页面找到。
注意,现在 Kindle 已支持推送 EPUB 格式,为了避免在推送时电子书被 Calibre 自动转换成 MOBI 格式,需要在添加邮件地址时,将“格式”那一栏中的 MOBI 删掉,仅保留 EPUB。
▲ 将格式更改为 EPUB 以避免自动转换 MOBI 格式
3、填写推送邮箱
在下面的“发信人地址”中填写你的电子邮箱。注意请确保该邮箱已经添加到亚马逊官网 Kindle 管理后台的【设置】页面中的“已认可的发件人电子邮箱列表”中(这一项在设置页面底部)。
4、配置邮箱服务器
接下来设置“邮件服务器”。Calibre 支持两种发送邮件的方式,既可以自行选用。
方式一:留空邮件服务器
Calibre 的“邮件服务器”不是必填项,你可以将其留空,这样 Calibre 会将你的电脑作为邮件服务器发送邮件。虽然通过这种方式发送的电子邮件是伪造邮件(邮箱无法通过 SFP 验证),大部分邮件服务商通常都会被标记为垃圾邮件,但貌似并不影响 Kindle 邮箱的收信,发信速度取决于你的网络速度。via
方式二:指定邮件服务器
如果通过以上方式推送时遇到了错误,或 Kindle 收不到邮件,就需要手动指定邮件服务器了。
如果你用的是 Gmail 或 Live/Outlook/Hotmail 邮箱,直接点右边相应的图标填写你的邮箱地址及用户名密码即可,软件将会自动为你填写主机名和端口。如果使用其他的邮箱请自行填写邮箱服务器设置并填入你的邮箱用户名和密码。常见的几个邮箱服务器如下:
服务商 | 主机名 | 端口 | 加密类型 | 备注 |
---|---|---|---|---|
Gmail | smtp.gmail.com | 587 | TLS | * 使用中国网络需要翻墙 |
Hotmail Live Outlook |
smtp.office365.com smtp-mail.outlook.com |
587 | TLS | |
163 | smtp.163.com | 465 587 |
SSL | * 新注册邮箱可能无法立即使用 * 密码请使用授权码而非登录密码 * 频繁发信可能会被禁用 SMTP |
126 | smtp.126.com | 465 587 |
SSL | |
Yeah | smtp.yeah.net | 465 587 |
SSL | |
新浪 | smtp.sina.com | 465 587 |
SSL | |
smtp.qq.com | 465 | SSL |
* 提示 1: 一定要确保填写的端口是正确的,不要把 465 写成 465,或 587 写成 578等。
* 提示 2: 以上列出的邮箱附件大小最大限制,除 Gmail/Outlook 是 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\n
【解决办法】
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 邮箱设定的限制规则,它没有给出更具体的说明。最快的解决方法是换一个邮箱,建议选择 Outlook、Gmail 等限制没那么多的邮箱。
三、解决显示拼音书名问题
通过亚马逊 Send to Kindle 服务提供的五种方式推送到 Kindle 的电子书会显示为推送时的文件名,而 Calibre 会自动将电子书的文件名从中文书名转换成拼音书名,并且未提供相关的设置,因此只要通过其内置的邮件功能推送电子书,发送到 Kindle 后都会显示拼音书名。
你可以为 Calibre 安装一款由书伴开发的名为 Send to Kindle 的插件来解决这个问题,详情请移步《如何解决 Calibre 推送中文书到 Kindle 显示拼音书名问题》。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/11.html
“Calibre教程”相关阅读
- Calibre 使用教程之通过 WiFi 向 Kindle 传输电子书
- 如何解决 Kindle 电子书无法更换字体的问题
- 把 TXT 文档转换成带目录的 MOBI 格式电子书
- Calibre 使用教程之抓取网站页面制成电子书
- 解决依赖内嵌字体才能正常显示的电子书乱码问题
- Calibre 使用教程之优化电子书的排版
- Calibre 常用命令行工具详解之 ebook-meta
- Calibre 使用教程之转换电子书格式
- 如何解决 kindle 电子书字体颜色浅淡的问题
- Calibre 使用教程之为电子书添加更换字体
- Calibre使用教程之为电子书添加或修改封面
- 如何用 Calibre 和 Count Pages 插件统计电子书的字数和页数
- Calibre 使用教程之电子书繁体字转简体字
- Calibre 发布 3.0 版本(附常用功能梳理)
- Calibre 使用教程之为 Kindle 电子书添加页码
你好,我想请问一下,显示这个代码是什么问题呢,需要怎么做。
Traceback (most recent call last):
File “calibre\gui2\wizard\send_email.py”, line 223, in test_email_settings
File “calibre\utils\smtp.py”, line 180, in sendmail
File “smtplib.py”, line 750, in login
File “smtplib.py”, line 739, in login
File “smtplib.py”, line 662, in auth
smtplib.SMTPAuthenticationError: (535, b’Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256′)
Log:
connect: (‘smtp.qq.com’, 465)
connect: to (‘smtp.qq.com’, 465) None
reply: b’220 newxmesmtplogicsvrszb9-0.qq.com XMail Esmtp QQ Mail Server.\r\n’
reply: retcode (220); Msg: b’newxmesmtplogicsvrszb9-0.qq.com XMail Esmtp QQ Mail Server.’
connect: b’newxmesmtplogicsvrszb9-0.qq.com XMail Esmtp QQ Mail Server.’
send: ‘ehlo [192.168.3.68]\r\n’
reply: b’250-newxmesmtplogicsvrszb9-0.qq.com\r\n’
reply: b’250-PIPELINING\r\n’
reply: b’250-SIZE 73400320\r\n’
reply: b’250-AUTH LOGIN PLAIN XOAUTH XOAUTH2\r\n’
reply: b’250-AUTH=LOGIN\r\n’
reply: b’250-MAILCOMPRESS\r\n’
reply: b’250 8BITMIME\r\n’
reply: retcode (250); Msg: b’newxmesmtplogicsvrszb9-0.qq.com\nPIPELINING\nSIZE 73400320\nAUTH LOGIN PLAIN XOAUTH XOAUTH2\nAUTH=LOGIN\nMAILCOMPRESS\n8BITMIME’
send: AUTH
reply: b’535 Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256\r\n’
reply: retcode (535); Msg: b’Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256′
send: AUTH
reply: b’334 UGFzc3dvcmQ6\r\n’
reply: retcode (334); Msg: b’UGFzc3dvcmQ6′
send: ‘Y3B0YnRwdHAxMjM0\r\n’
reply: b’535 Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256\r\n’
reply: retcode (535); Msg: b’Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256′
你需要使用授权码而不是登录密码,具体看它提供的帮助页面。
用的outlook邮箱,calibre显示发送成功,但kindle没有收到
你好,请问这一大段我要看哪些去查看错误的地方?我用的是outlook的邮箱,我就看懂他说我凭证不正确。请问要怎么解决呢?
Traceback (most recent call last):
File “calibre\gui2\wizard\send_email.py”, line 223, in test_email_settings
File “calibre\utils\smtp.py”, line 180, in sendmail
File “smtplib.py”, line 750, in login
File “smtplib.py”, line 739, in login
File “smtplib.py”, line 662, in auth
smtplib.SMTPAuthenticationError: (535, b’5.7.139 Authentication unsuccessful, the user credentials were incorrect. [SG2PR04CA0171.apcprd04.prod.outlook.com]’)
Log:
connect: to (‘smtp-mail.outlook.com’, 587) None
reply: b’220 SG2PR04CA0171.outlook.office365.com Microsoft ESMTP MAIL Service ready at Mon, 19 Dec 2022 17:04:55 +0000\r\n’
reply: retcode (220); Msg: b’SG2PR04CA0171.outlook.office365.com Microsoft ESMTP MAIL Service ready at Mon, 19 Dec 2022 17:04:55 +0000′
connect: b’SG2PR04CA0171.outlook.office365.com Microsoft ESMTP MAIL Service ready at Mon, 19 Dec 2022 17:04:55 +0000′
send: ‘ehlo xn--.lan-uo6f115ca\r\n’
reply: b’250-SG2PR04CA0171.outlook.office365.com Hello [116.148.4.124]\r\n’
reply: b’250-SIZE 157286400\r\n’
reply: b’250-PIPELINING\r\n’
reply: b’250-DSN\r\n’
reply: b’250-ENHANCEDSTATUSCODES\r\n’
reply: b’250-STARTTLS\r\n’
reply: b’250-8BITMIME\r\n’
reply: b’250-BINARYMIME\r\n’
reply: b’250-CHUNKING\r\n’
reply: b’250 SMTPUTF8\r\n’
reply: retcode (250); Msg: b’SG2PR04CA0171.outlook.office365.com Hello [116.148.4.124]\nSIZE 157286400\nPIPELINING\nDSN\nENHANCEDSTATUSCODES\nSTARTTLS\n8BITMIME\nBINARYMIME\nCHUNKING\nSMTPUTF8′
send: ‘STARTTLS\r\n’
reply: b’220 2.0.0 SMTP server ready\r\n’
reply: retcode (220); Msg: b’2.0.0 SMTP server ready’
send: ‘ehlo xn--.lan-uo6f115ca\r\n’
reply: b’250-SG2PR04CA0171.outlook.office365.com Hello [116.148.4.124]\r\n’
reply: b’250-SIZE 157286400\r\n’
reply: b’250-PIPELINING\r\n’
reply: b’250-DSN\r\n’
reply: b’250-ENHANCEDSTATUSCODES\r\n’
reply: b’250-AUTH LOGIN XOAUTH2\r\n’
reply: b’250-8BITMIME\r\n’
reply: b’250-BINARYMIME\r\n’
reply: b’250-CHUNKING\r\n’
reply: b’250 SMTPUTF8\r\n’
reply: retcode (250); Msg: b’SG2PR04CA0171.outlook.office365.com Hello [116.148.4.124]\nSIZE 157286400\nPIPELINING\nDSN\nENHANCEDSTATUSCODES\nAUTH LOGIN XOAUTH2\n8BITMIME\nBINARYMIME\nCHUNKING\nSMTPUTF8′
send: AUTH
reply: b’334 UGFzc3dvcmQ6\r\n’
reply: retcode (334); Msg: b’UGFzc3dvcmQ6′
send: ‘a2pqQDg2MTI2\r\n’
reply: b’535 5.7.139 Authentication unsuccessful, the user credentials were incorrect. [SG2PR04CA0171.apcprd04.prod.outlook.com]\r\n’
reply: retcode (535); Msg: b’5.7.139 Authentication unsuccessful, the user credentials were incorrect. [SG2PR04CA0171.apcprd04.prod.outlook.com]’
如果用户名密码无误,检查一下这个邮箱是否收到了一封异常登录邮件,按照邮件的说明验证一下,就可以正常发送了。