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、配置邮箱服务器
如果你用的是 Gmail 邮箱,直接点右边相应的图标填写你的邮箱地址及用户名密码即可,软件将会自动为你填写主机名和端口。如果使用其他的邮箱请自行填写邮箱服务器设置并填入你的邮箱用户名和密码。常见的几个邮箱服务器如下:
服务商 | 主机名 | 端口 | 加密类型 | 备注 |
---|---|---|---|---|
Gmail | smtp.gmail.com | 465 587 |
SSL TLS |
* 中国网络需要使用网络代理(VPN) * 必须开启两步验证并使用生成的应用密码 |
163 | smtp.163.com | 465 587 |
SSL | * 新注册邮箱可能无法立即使用 * 密码请使用授权码而非登录密码 * 频繁发信可能会被禁用 SMTP |
126 | smtp.126.com | 465 587 |
SSL | |
Yeah | smtp.yeah.net | 465 587 |
SSL | |
smtp.qq.com | 465 | SSL | * 密码请使用授权码而非登录密码 |
* 提示 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\n
5.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
“Calibre教程”相关阅读
- 如何修复用 Calibre 通过 USB 导入 Kindle 的电子书封面
- 如何把 KFX 格式转换成 MOBI 等其它电子书格式
- Calibre 使用教程之为 Kindle 电子书添加页码
- Calibre 使用教程之转换电子书格式
- 如何解决 kindle 电子书字体颜色浅淡的问题
- Calibre 使用教程之为电子书添加更换字体
- Calibre 使用教程之抓取网站页面制成电子书
- 解决依赖内嵌字体才能正常显示的电子书乱码问题
- 英文电子书使用字典查词时选中整段的解决方法
- 如何用 Calibre 和 Count Pages 插件统计电子书的字数和页数
- Calibre 转换 TXT 文件出现 Errno 21 错误的解决方法
- Calibre 常用命令行工具详解之 ebook-convert
- Calibre 使用教程之优化电子书的排版
- Calibre 使用教程之把合集电子书拆分成单本
- 把 TXT 文档转换成带目录的 MOBI 格式电子书
好奇怪啊,我开始能用,中间突然出现错误。
然后我就关了SMTP服务又再开了。
还是这个错误。
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 172, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 135, in sendmail
File “site-packages\calibre\utils\smtplib.py”, line 617, in login
SMTPAuthenticationError: (550, ‘User is over flow’)
短时间内用这个邮箱推送次数很多或推送频率很高吗?貌似帐户被限制了。
你好,我把文件用163邮箱,QQ邮箱单独发送可以,但就是用calibre不行。想问一下是什么原因。
我文件大小才1m,用的163邮箱,密码用的也是授权码,看了下面那个评论,说是邮件服务器不用填也行,但我不填它一直出错,填了它也出错,填了邮件服务器后测试时它是这样的
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 830, in _get_socket
File “socket.py”, line 557, in create_connection
gaierror: [Errno 11001] getaddrinfo failed
Log:
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
下面是填了邮件服务器后把我的文件发送到kindle
calibre, version 4.13.0 (win32, embedded-python: True)
无法通过电子邮件发送书籍: 失败: 把 毛泽东选集七 发Email到 WODEYOUXIANG110120119@kindle.cn
Starting job: 把 毛泽东选集七 发Email到 WODEYOUXIANG110120119@kindle.cn
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
Sending failed…
Traceback (most recent call last):
File “site-packages\calibre\gui2\email.py”, line 45, in run
File “site-packages\calibre\gui2\email.py”, line 135, in sendmail
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 830, in _get_socket
File “socket.py”, line 557, in create_connection
gaierror: [Errno 11001] getaddrinfo failed
Retrying in 1 seconds…
Waiting 1 seconds before sending, to avoid being marked as spam.
You can control this delay via Preferences->Tweaks
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
Sending failed…
Traceback (most recent call last):
File “site-packages\calibre\gui2\email.py”, line 45, in run
File “site-packages\calibre\gui2\email.py”, line 135, in sendmail
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 830, in _get_socket
File “socket.py”, line 557, in create_connection
gaierror: [Errno 11001] getaddrinfo failed
Job: “把 毛泽东选集七 发Email到 WODEYOUXIANG110120119@kindle.cn” failed with error:
Traceback (most recent call last):
File “site-packages\calibre\gui2\threaded_jobs.py”, line 83, in start_work
File “site-packages\calibre\gui2\email.py”, line 102, in __call__
gaierror: [Errno 11001] getaddrinfo failed
Called with args: (u’C:\\Users\\l\\AppData\\Local\\Temp\\calibre_6ehw80\\fgwd8jcaltmpfmt.mobi’, u’Mao Ze Dong Xuan Ji Qi – Wei Zhi.mobi’, u’WODEYOUXIANG110120119@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a \u6bdb\u6cfd\u4e1c\u9009\u96c6\u4e03′, u’\u5df2\u6dfb\u52a0, \u4f60\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\n\u6bdb\u6cfd\u4e1c\u9009\u96c6\u4e03\n\t\u7531 \u672a\u77e5\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’notifications’: , u’log’: , u’abort’: }
你的系统开启全局网络代理了吗?从日志上看,问题的真正原因是这行提示:
File “socket.py”, line 557, in create_connection
,好像是 Socket 连接有问题导致无法连接 SMTP 服务器。你好,系统开启全局网络代理是什么意思啊,是电脑“网络和Internet”中“代理”里的“手动设置代理”吗?如果是的话,地址和端口应该分别怎么填啊?上网上搜了一下,还是不太清楚。
http://a1.qpic.cn/psc?/V11gtIYu0GWtD5/Ztt4hf0fP2uyClLJO4N7w6V*9baldRsfVCy3USMnh0B0sAgt7P9z.05W7sfM2jBZIoymNnOoKmFhhBzy52uOFA!!/b&ek=1&kp=1&pt=0&bo=WAOiAlgDogIDMBU!&tl=1&vuin=2754278686&tm=1591203600&sce=50-1-1&rf=4-0
可能是我没有表达清楚。我的本意是,如果你开启了全局代理(也就是翻墙软件),并且该代理没有正常工作,可能就会出现那个问题。
没有用翻墙软件啊,到底该怎么办啊😂
这个问题的原因不明确,一句话没有办法说清楚,需要自己测试,我用自己的电脑无法重现你所说的错误。
你可以安装一个 Python3,然后将以下代码保存为 test-socket.py 用 Python3 执行。
如果正常可以看到类似下面这样的信息,如果出错了,看看会不会有更详细的提示信息。
好的,谢谢你的回复👍
不用那么麻烦,这个其实只填写kindle的接收邮箱,发信人地址。
其他的邮件服务器不用管它就行。
calibre说了可选择是否使用邮件服务器发送,不用也没问题,我一直空着就能使用。
如图:https://s1.ax1x.com/2020/05/30/tMF6Re.jpg
https://imgchr.com/i/tMF6Re
谢谢分享经验,已将此经验添加到本文中。
经过我使用三个账号进行测试,
只填写kindle的接收邮箱和发信人地址的话有可能会引发二次验证,
因此还是不建议留空邮件服务器最好还是使用指定邮件服务器
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 830, in _get_socket
File “socket.py”, line 575, in create_connection
error: [Errno 10060]
Log:
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
不成功呀,网络是有代理的,但是我需要咋设置才能成功呀?
你可以先把代理关掉,然后再测试一下能否正常发信,如果能的话就是代理的原因。
你好,我出现了和以上那位同样的问题,但是但我关掉代理,它也没有发送成功
楼主帮忙看看我的,测试成功,但是发不了
Starting job: 把 The Girl with the Dragon Tattoo 发Email到 yansicong11@kindle.cn
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
reply: ‘220 163.com Anti-spam GT for Coremail System (163com[20141201])\r\n’
reply: retcode (220); Msg: 163.com Anti-spam GT for Coremail System (163com[20141201])
connect: 163.com Anti-spam GT for Coremail System (163com[20141201])
send: u’ehlo [127.0.0.1]\r\n’
reply: ‘250-mail\r\n’
reply: ‘250-PIPELINING\r\n’
reply: ‘250-AUTH LOGIN PLAIN \r\n’
reply: ‘250-AUTH=LOGIN PLAIN\r\n’
reply: ‘250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrcQncHUCa0xDrUUUUj\r\n’
reply: ‘250-STARTTLS\r\n’
reply: ‘250 8BITMIME\r\n’
reply: retcode (250); Msg: mail
PIPELINING
AUTH LOGIN PLAIN
AUTH=LOGIN PLAIN
coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrcQncHUCa0xDrUUUUj
STARTTLS
8BITMIME
send: AUTH
reply: ‘235 Authentication successful\r\n’
reply: retcode (235); Msg: Authentication successful
send: u’mail FROM:\r\n’
reply: ‘250 Mail OK\r\n’
reply: retcode (250); Msg: Mail OK
send: u’rcpt TO:\r\n’
reply: ‘250 Mail OK\r\n’
reply: retcode (250); Msg: Mail OK
send: ‘data\r\n’
reply: ‘354 End data with .\r\n’
reply: retcode (354); Msg: End data with .
data: (354, ‘End data with .’)
send: ‘Content-Type: multipart/mixed; boundary=”===============4979545822211526848==”\r\nMIME-Version: 1.0…
send: ‘quit\r\n’
Sending failed…
Traceback (most recent call last):
File “site-packages/calibre/gui2/email.py”, line 45, in run
File “site-packages/calibre/gui2/email.py”, line 135, in sendmail
File “site-packages/calibre/utils/smtp.py”, line 185, in sendmail
File “site-packages/calibre/utils/smtplib.py”, line 774, in sendmail
File “site-packages/calibre/utils/smtplib.py”, line 532, in data
File “site-packages/calibre/utils/smtplib.py”, line 354, in send
SMTPServerDisconnected: Server not connected
Retrying in 1 seconds…
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
reply: ‘220 163.com Anti-spam GT for Coremail System (163com[20141201])\r\n’
reply: retcode (220); Msg: 163.com Anti-spam GT for Coremail System (163com[20141201])
connect: 163.com Anti-spam GT for Coremail System (163com[20141201])
send: u’ehlo [127.0.0.1]\r\n’
reply: ‘250-mail\r\n’
reply: ‘250-PIPELINING\r\n’
reply: ‘250-AUTH LOGIN PLAIN \r\n’
reply: ‘250-AUTH=LOGIN PLAIN\r\n’
reply: ‘250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Ur3AaajUCa0xDrUUUUj\r\n’
reply: ‘250-STARTTLS\r\n’
reply: ‘250 8BITMIME\r\n’
reply: retcode (250); Msg: mail
PIPELINING
AUTH LOGIN PLAIN
AUTH=LOGIN PLAIN
coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Ur3AaajUCa0xDrUUUUj
STARTTLS
8BITMIME
send: AUTH
reply: ‘235 Authentication successful\r\n’
reply: retcode (235); Msg: Authentication successful
send: u’mail FROM:\r\n’
reply: ‘250 Mail OK\r\n’
reply: retcode (250); Msg: Mail OK
send: u’rcpt TO:\r\n’
reply: ‘250 Mail OK\r\n’
reply: retcode (250); Msg: Mail OK
send: ‘data\r\n’
reply: ‘354 End data with .\r\n’
reply: retcode (354); Msg: End data with .
data: (354, ‘End data with .’)
send: ‘Content-Type: multipart/mixed; boundary=”===============8884126181478389006==”\r\nMIME-Version: 1.0…
send: ‘quit\r\n’
Sending failed…
Traceback (most recent call last):
File “site-packages/calibre/gui2/email.py”, line 45, in run
File “site-packages/calibre/gui2/email.py”, line 135, in sendmail
File “site-packages/calibre/utils/smtp.py”, line 185, in sendmail
File “site-packages/calibre/utils/smtplib.py”, line 774, in sendmail
File “site-packages/calibre/utils/smtplib.py”, line 532, in data
File “site-packages/calibre/utils/smtplib.py”, line 354, in send
SMTPServerDisconnected: Server not connected
Job: “把 The Girl with the Dragon Tattoo 发Email到 yansicong11@kindle.cn” failed with error:
Traceback (most recent call last):
File “site-packages/calibre/gui2/threaded_jobs.py”, line 83, in start_work
File “site-packages/calibre/gui2/email.py”, line 102, in __call__
SMTPServerDisconnected: Server not connected
Called with args: (u’/var/folders/z6/thtvx1s92kjfnm75c4cjkf8w0000gn/C/calibre_4.13.0_tmp_Kbkr2p/3GBVkjcaltmpfmt.mobi’, u’The Girl with the Dragon Tattoo – Stieg Larsson.mobi’, u’yansicong11@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a The Girl with the Dragon Tattoo’, u’\u5df2\u6dfb\u52a0, \u4f60\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\nThe Girl with the Dragon Tattoo\n\t\u7531 Stieg Larsson\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’abort’: , u’log’: , u’notifications’: }
错误提示是 SMTPServerDisconnected: Server not connected,这个提示不太明确,只是说 SMTP 服务器断开了连接。你推送的电子书大小是多少?有没有更换其他邮箱服务(如 Outlook)试试?
我换成了outlook倒是能推了,但每次推完以后都要给我邮箱里发确认邮件,我要点确认推送他才给我推。难道就不能像以前那样软件直接推送到设备吗?
关于“确认邮件”的问题可以参考《使用 Kindle 推送时为何会收到“验证请求”邮件?》这篇文章。
你好,我的测试邮件是发送成功了,但用calibre传送时总是出现错误,麻烦你帮我看下代码,谢谢。
Sending failed…
Traceback (most recent call last):
File “site-packages\calibre\gui2\email.py”, line 45, in run
File “site-packages\calibre\gui2\email.py”, line 117, in sendmail
File “site-packages\calibre\utils\smtp.py”, line 279, in compose_mail
File “site-packages\calibre\utils\smtp.py”, line 104, in create_mail
File “email\encoders.py”, line 45, in encode_base64
File “email\encoders.py”, line 32, in _bencode
File “base64.py”, line 323, in encodestring
MemoryError
Retrying in 1 seconds…
Waiting 1 seconds before sending, to avoid being marked as spam.
You can control this delay via Preferences->Tweaks
Sending failed…
Traceback (most recent call last):
File “site-packages\calibre\gui2\email.py”, line 45, in run
File “site-packages\calibre\gui2\email.py”, line 117, in sendmail
File “site-packages\calibre\utils\smtp.py”, line 279, in compose_mail
File “site-packages\calibre\utils\smtp.py”, line 104, in create_mail
File “email\encoders.py”, line 45, in encode_base64
File “email\encoders.py”, line 32, in _bencode
File “base64.py”, line 323, in encodestring
MemoryError
Job: “把 城市与狗 发Email到 failed with error:
Traceback (most recent call last):
File “site-packages\calibre\gui2\threaded_jobs.py”, line 83, in start_work
File “site-packages\calibre\gui2\email.py”, line 102, in __call__
MemoryError
Called with args: (u’C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\calibre_qsrblh\\ten8tgcaltmpfmt.mobi’, u’Cheng Shi Yu Gou – (Mi Lu )Ma Li Ao _Ba Er Jia Si _Lue Sa Zhu Zhao Shao Tian Yi.mobi’, u’Sololove_free97@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a \u57ce\u5e02\u4e0e\u72d7′, u’\u5df2\u6dfb\u52a0, \u4f60\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\n\u57ce\u5e02\u4e0e\u72d7\n\t\u7531 \uff08\u79d8\u9c81\uff09\u9a6c\u91cc\u5965\xb7\u5df4\u5c14\u52a0\u65af\xb7\u7565\u8428\u8457\u8d75\u7ecd\u5929\u8bd1\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’abort’: , u’log’: , u’notifications’: }
这是电子书自身的问题。电子书大小是多少?
电子书的大小是206.4MB,请问是不能超过某个范围吗?谢谢
你推送的文件太大了,邮箱对附件文件大小是有限制的,有些是 20MB,如 Gmail,有些是 50MB,如 163邮箱。另外,亚马逊的个人文档服务对文件也是有 50MB 限制的。对于这种大文件,建议通过 USB 传输。
好的,谢谢你
请问我在calibre里面重新设定一个新的发送邮箱,选择的是hotmail邮箱,在test之后也显示发送成功,但是我用calibre发送 kindle却没有任何接受显示 ,您知道是什么原因吗 谢谢
建议把推送失败的错误日志信息上来,通过它才好判断问题出在哪里。
你好,感谢回复,我的问题已解决,我修改接受邮箱之后没有在amazon账户下添加信任新邮箱。 再次感谢您的回复。
真的很神奇,用calibre转换出来的mobi(new) 就不能推送,kindlegen生成的就可以
KindleGen 是亚马逊官方提供的转换工具,转换的 MOBI 格式文件与亚马逊的个人文档服务兼容性肯定是最好的。而 Calibre 的转换算法可能是通过其它方式实现的,与亚马逊官方实现有差异,所以很多时候会出现不兼容的情况。
请问邮箱这是什么情况,以前我都能使用的
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 182, in sendmail
File “site-packages\calibre\utils\smtplib.py”, line 605, in login
File “site-packages\calibre\utils\smtplib.py”, line 567, in ehlo_or_helo_if_needed
SMTPHeloError: (500, ‘Error: bad syntax’)
请参考本文第二部分的错误提示之六提供的解决方法。
你好我按照教程一步步走下来后面就不知道怎么弄了~能教我一下么?谢谢~
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 185, in sendmail
File “site-packages\calibre\utils\smtplib.py”, line 762, in sendmail
SMTPSenderRefused: (553, ‘Mail from must equal authorized user’, u’1584624613@qq.com’)
Log:
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
reply: ‘220 163.com Anti-spam GT for Coremail System (163com[20141201])\r\n’
reply: retcode (220); Msg: 163.com Anti-spam GT for Coremail System (163com[20141201])
connect: 163.com Anti-spam GT for Coremail System (163com[20141201])
send: u’ehlo [192.168.1.106]\r\n’
reply: ‘250-mail\r\n’
reply: ‘250-PIPELINING\r\n’
reply: ‘250-AUTH LOGIN PLAIN\r\n’
reply: ‘250-AUTH=LOGIN PLAIN\r\n’
reply: ‘250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Urt9EL6UCa0xDrUUUUj\r\n’
reply: ‘250-STARTTLS\r\n’
reply: ‘250 8BITMIME\r\n’
reply: retcode (250); Msg: mail
PIPELINING
AUTH LOGIN PLAIN
AUTH=LOGIN PLAIN
coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Urt9EL6UCa0xDrUUUUj
STARTTLS
8BITMIME
send: AUTH
reply: ‘235 Authentication successful\r\n’
reply: retcode (235); Msg: Authentication successful
send: u’mail FROM:\r\n’
reply: ‘553 Mail from must equal authorized user\r\n’
reply: retcode (553); Msg: Mail from must equal authorized user
send: ‘rset\r\n’
reply: ‘250 OK\r\n’
reply: retcode (250); Msg: OK
send: ‘quit\r\n’
reply: ‘221 Bye\r\n’
reply: retcode (221); Msg: Bye
错误提示 Mail from must equal authorized user,你的用户名和 Email 必须一致。简单说就是直接用你的 Email 做用户名就可以了。
防火墙关了,换了一本书,可以转换了,但是还是发送不了,哭了:
Starting job: 把 Giorgio Agamben, Kevin Attell 发Email到 1072037971_6j9DvE@kindle.cn
connect: (u’smtp.qq.com’, 465)
connect: (u’smtp.qq.com’, 465)
Sending failed…
Traceback (most recent call last):
File “site-packages\calibre\gui2\email.py”, line 45, in run
File “site-packages\calibre\gui2\email.py”, line 135, in sendmail
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 831, in _get_socket
File “ssl.py”, line 931, in wrap_socket
File “ssl.py”, line 599, in __init__
File “ssl.py”, line 828, in do_handshake
error: [Errno 10054]
Retrying in 1 seconds…
Waiting 1 seconds before sending, to avoid being marked as spam.
You can control this delay via Preferences->Tweaks
connect: (u’smtp.qq.com’, 465)
connect: (u’smtp.qq.com’, 465)
Sending failed…
Traceback (most recent call last):
File “site-packages\calibre\gui2\email.py”, line 45, in run
File “site-packages\calibre\gui2\email.py”, line 135, in sendmail
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 830, in _get_socket
File “socket.py”, line 575, in create_connection
error: [Errno 10060]
Job: “把 Giorgio Agamben, Kevin Attell 发Email到 1072037971_6j9DvE@kindle.cn” failed with error:
Traceback (most recent call last):
File “site-packages\calibre\gui2\threaded_jobs.py”, line 83, in start_work
File “site-packages\calibre\gui2\email.py”, line 102, in __call__
error: [Errno 10060]
这还是网络方面的问题。建议你下载一个邮箱客户端,然后试试看用 SMTP 能不能发信,这样能排除 Calibre 自身的原因。
这是测试的时候的:
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 831, in _get_socket
File “ssl.py”, line 931, in wrap_socket
File “ssl.py”, line 599, in __init__
File “ssl.py”, line 828, in do_handshake
error: [Errno 10054]
Log:
connect: (u’smtp.yeah.net’, 465)
connect: (u’smtp.yeah.net’, 465)
转化书籍的时候也不行…
转换书籍 第 1 本,共 1 本 (故事:材质、结构、风格和银幕剧作的原理)
C:\Program Files\Calibre2\\app\pylib.zip\dateutil\parser\_parser.py:1177: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal
Conversion options changed from defaults:
output_profile: u’kindle’
read_metadata_from_opf: u’C:\\Users\\gus\\AppData\\Local\\Temp\\calibre_ijbqom\\odmesv.opf’
cover: u’C:\\Users\\gus\\AppData\\Local\\Temp\\calibre_ijbqom\\ybdojr.jpeg’
verbose: 2
Resolved conversion options
calibre version: 4.11.2
{‘asciiize’: False,
‘author_sort’: None,
‘authors’: None,
‘base_font_size’: 0.0,
‘book_producer’: None,
‘change_justification’: u’original’,
‘chapter’: u”//*[((name()=’h1′ or name()=’h2′) and re:test(., ‘\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))’, ‘i’)) or @class = ‘chapter’]”,
‘chapter_mark’: u’pagebreak’,
‘comments’: None,
‘cover’: u’C:\\Users\\gus\\AppData\\Local\\Temp\\calibre_ijbqom\\ybdojr.jpeg’,
‘debug_pipeline’: None,
‘dehyphenate’: True,
‘delete_blank_paragraphs’: True,
‘disable_font_rescaling’: False,
‘dont_compress’: False,
‘duplicate_links_in_toc’: False,
’embed_all_fonts’: False,
’embed_font_family’: None,
‘enable_heuristics’: False,
‘expand_css’: False,
‘extra_css’: None,
‘extract_to’: None,
‘filter_css’: u”,
‘fix_indents’: True,
‘font_size_mapping’: None,
‘format_scene_breaks’: True,
‘html_unwrap_factor’: 0.4,
‘input_encoding’: None,
‘input_profile’: ,
‘insert_blank_line’: False,
‘insert_blank_line_size’: 0.5,
‘insert_metadata’: False,
‘isbn’: None,
‘italicize_common_cases’: True,
‘keep_ligatures’: False,
‘language’: None,
‘level1_toc’: None,
‘level2_toc’: None,
‘level3_toc’: None,
‘line_height’: 0.0,
‘linearize_tables’: False,
‘margin_bottom’: 5.0,
‘margin_left’: 5.0,
‘margin_right’: 5.0,
‘margin_top’: 5.0,
‘markup_chapter_headings’: True,
‘max_toc_links’: 50,
‘minimum_line_height’: 120.0,
‘mobi_file_type’: u’old’,
‘mobi_ignore_margins’: False,
‘mobi_keep_original_images’: False,
‘mobi_toc_at_start’: False,
‘no_chapters_in_toc’: False,
‘no_inline_navbars’: True,
‘no_inline_toc’: False,
‘output_profile’: ,
‘page_breaks_before’: u’/’,
‘personal_doc’: u'[PDOC]’,
‘prefer_author_sort’: False,
‘prefer_metadata_cover’: False,
‘pretty_print’: False,
‘pubdate’: None,
‘publisher’: None,
‘rating’: None,
‘read_metadata_from_opf’: u’C:\\Users\\gus\\AppData\\Local\\Temp\\calibre_ijbqom\\odmesv.opf’,
‘remove_fake_margins’: True,
‘remove_first_image’: False,
‘remove_paragraph_spacing’: False,
‘remove_paragraph_spacing_indent_size’: 1.5,
‘renumber_headings’: True,
‘replace_scene_breaks’: u”,
‘search_replace’: ‘[]’,
‘series’: None,
‘series_index’: None,
‘share_not_sync’: False,
‘smarten_punctuation’: False,
‘sr1_replace’: None,
‘sr1_search’: None,
‘sr2_replace’: None,
‘sr2_search’: None,
‘sr3_replace’: None,
‘sr3_search’: None,
‘start_reading_at’: None,
‘subset_embedded_fonts’: False,
‘tags’: None,
‘timestamp’: None,
‘title’: None,
‘title_sort’: None,
‘toc_filter’: None,
‘toc_threshold’: 6,
‘toc_title’: None,
‘transform_css_rules’: ‘[]’,
‘unsmarten_punctuation’: False,
‘unwrap_lines’: True,
‘use_auto_toc’: False,
‘verbose’: 2}
InputFormatPlugin: EPUB Input running
on C:\Users\gus\AppData\Local\Temp\calibre_ijbqom\cur5jb.epub
EPUB appears to be invalid ZIP file, trying a more forgiving ZIP parser
Traceback (most recent call last):
File “site-packages\calibre\ebooks\conversion\plugins\epub_input.py”, line 262, in convert
File “site-packages\calibre\utils\zipfile.py”, line 770, in __init__
File “site-packages\calibre\utils\zipfile.py”, line 805, in _GetContents
File “site-packages\calibre\utils\zipfile.py”, line 820, in _RealGetContents
BadZipfile: File is not a zip file
Python function terminated unexpectedly
Premature end of file (Error Code: 1)
Traceback (most recent call last):
File “site.py”, line 114, in main
File “site.py”, line 88, in run_entry_point
File “site-packages\calibre\utils\ipc\worker.py”, line 209, in main
File “site-packages\calibre\gui2\convert\gui_conversion.py”, line 43, in gui_convert_override
File “site-packages\calibre\gui2\convert\gui_conversion.py”, line 28, in gui_convert
File “site-packages\calibre\ebooks\conversion\plumber.py”, line 1110, in run
File “site-packages\calibre\customize\conversion.py”, line 246, in __call__
File “site-packages\calibre\ebooks\conversion\plugins\epub_input.py”, line 269, in convert
File “site-packages\calibre\utils\localunzip.py”, line 253, in extractall
File “site-packages\calibre\utils\localunzip.py”, line 233, in _extractall
File “site-packages\calibre\utils\localunzip.py”, line 166, in copy_stored_file
ValueError: Premature end of file
错误提示 BadZipfile: File is not a zip file,这应该是源文件损坏的原因。建议多测试几个不同的文件,看是否是个例,如果是的话那应该就可以确定是源文件的问题了。
请问为什么换了yeah,163,outlook都不行啊….
这是yeah的:
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 171, in sendmail
File “site-packages\polyglot\smtplib.py”, line 73, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 825, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 275, in __init__
File “site-packages\calibre\utils\smtplib.py”, line 338, in connect
File “site-packages\calibre\utils\smtplib.py”, line 831, in _get_socket
File “ssl.py”, line 931, in wrap_socket
File “ssl.py”, line 599, in __init__
File “ssl.py”, line 828, in do_handshake
error: [Errno 10054]
Log:
connect: (u’smtp.yeah.net’, 465)
connect: (u’smtp.yeah.net’, 465)
建议检查电脑的防火墙或病毒软件是否拦截了 SMTP 通信。
我把防火墙和病毒软件都关了,还是不行诶
您好,打扰了,我因为换电脑,重装了celibre,按照教程重新设置以后出现了一下错误,麻烦分析一下,哪里有问题呢?
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 185, in sendmail
File “site-packages\calibre\utils\smtplib.py”, line 773, in sendmail
SMTPRecipientsRefused: {u’\u65b0\u90ae\u4ef6\u5730\u57401′: (550, ‘Invalid User: \xe6\x96\xb0\xe9\x82\xae\xe4\xbb\xb6\xe5\x9c\xb0\xe5\x9d\x801′)}
Log:
connect: (u’smtp.163.com’, 465)
connect: (u’smtp.163.com’, 465)
reply: ‘220 163.com Anti-spam GT for Coremail System (163com[20141201])\r\n’
reply: retcode (220); Msg: 163.com Anti-spam GT for Coremail System (163com[20141201])
connect: 163.com Anti-spam GT for Coremail System (163com[20141201])
send: u’ehlo xn--7.host-pz4ox7fu39a\r\n’
reply: ‘250-mail\r\n’
reply: ‘250-PIPELINING\r\n’
reply: ‘250-AUTH LOGIN PLAIN\r\n’
reply: ‘250-AUTH=LOGIN PLAIN\r\n’
reply: ‘250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Urxza0rUCa0xDrUUUUj\r\n’
reply: ‘250-STARTTLS\r\n’
reply: ‘250 8BITMIME\r\n’
reply: retcode (250); Msg: mail
PIPELINING
AUTH LOGIN PLAIN
AUTH=LOGIN PLAIN
coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Urxza0rUCa0xDrUUUUj
STARTTLS
8BITMIME
send: AUTH
reply: ‘235 Authentication successful\r\n’
reply: retcode (235); Msg: Authentication successful
send: u’mail FROM:\r\n’
reply: ‘250 Mail OK\r\n’
reply: retcode (250); Msg: Mail OK
send: u’rcpt TO:\r\n’
reply: ‘550 Invalid User: \xe6\x96\xb0\xe9\x82\xae\xe4\xbb\xb6\xe5\x9c\xb0\xe5\x9d\x801\r\n’
reply: retcode (550); Msg: Invalid User: 新邮件地址1
send: ‘rset\r\n’
reply: ‘250 OK\r\n’
reply: retcode (250); Msg: OK
send: ‘quit\r\n’
reply: ‘221 Bye\r\n’
reply: retcode (221); Msg: Bye
错误提示无效用户“Invalid User: 新邮件地址1”,应该是你的用户名填写错了。
Traceback (most recent call last):
File “site-packages\calibre\gui2\wizard\send_email.py”, line 209, in test_email_settings
File “site-packages\calibre\utils\smtp.py”, line 182, in sendmail
File “site-packages\calibre\utils\smtplib.py”, line 645, in login
SMTPAuthenticationError: (535, ‘Error: authentication failed’)
Log:
connect: (u’smtp.163.com’, 587)
connect: (u’smtp.163.com’, 587)
reply: ‘220 163.com Anti-spam GT for Coremail System (163com[20141201])\r\n’
reply: retcode (220); Msg: 163.com Anti-spam GT for Coremail System (163com[20141201])
connect: 163.com Anti-spam GT for Coremail System (163com[20141201])
send: u’ehlo [192.168.43.239]\r\n’
reply: ‘250-mail\r\n’
reply: ‘250-PIPELINING\r\n’
reply: ‘250-AUTH LOGIN PLAIN \r\n’
reply: ‘250-AUTH=LOGIN PLAIN\r\n’
reply: ‘250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Urahn79UCa0xDrUUUUj\r\n’
reply: ‘250-STARTTLS\r\n’
reply: ‘250 8BITMIME\r\n’
reply: retcode (250); Msg: mail
PIPELINING
AUTH LOGIN PLAIN
AUTH=LOGIN PLAIN
coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Urahn79UCa0xDrUUUUj
STARTTLS
8BITMIME
send: AUTH
reply: ‘535 Error: authentication failed\r\n’
reply: retcode (535); Msg: Error: authentication failed
这个是什么问题,我开了开了授权码和POP3/SMTP/IMAP服务
163和126都不可以
错误提示 SMTPAuthenticationError 还是账户验证失败。开启授权码之后,配制 SMTP 时填写的密码是授权码吗?