Calibre 使用教程之邮件一键推送电子书

Kindle 伴侣在之前曾经写过一个教程《通过电子邮箱附件推送文档到Kindle》,内容是手动通过电子邮箱推送电子书到【我的内容】,下面介绍的用 Calibre 推送的方法可以使推送过程更加简化。跟着下面的步骤简单的设置以下就可以享受便捷的一键推送了:

一、Calibre 的设置及推送步骤

在开始下面步骤之前请确保你有一个电子邮箱并且你的Kindle设备已经和你的亚马逊账号进行了绑定。如果没有亚马逊账号请点击这里(亚马逊中国)或点击这里(美国亚马逊)先自行注册。详细步骤请参见《通过电子邮箱附件推送文档到Kindle》。

1、下载安装Calibre

Calibre下载页面:https://kindlefere.com/tools#calibre

2、添加Kindle接收推送的邮箱

点击“首选项”图标,找到“分享”类,点击“通过邮件分享”。在弹出的对话框中点击右边的“添加邮件地址”,填入和你的Kindle设备绑定的推送接收邮箱(可添加多个)。接收推送的邮箱可以在【管理我的内容和设备】中的【我的设备】选项卡页面找到。

3、填写推送邮箱

在下面的“发信人地址”中填写你的电子邮箱。注意请确保该邮箱已经添加到亚马逊官网 Kindle 管理后台的【设置】页面中的“已认可的发件人电子邮箱列表”中(这一项在设置页面底部)。

4、设置推送邮箱的邮件服务器

接下来设置“邮件服务器”,如果你用的是gmail或live邮箱,直接点右边相应的图标填写你的邮箱地址及用户名密码即可,软件将会自动为你填写主机名和端口。如果使用其他的邮箱请自行填写邮箱服务器设置并填入你的邮箱用户名和密码。常见的几个邮箱服务器如下:

  • 163 邮箱:主机名 smtp.163.com 端口 465 或 587(加密类型:SSL)*推荐
  • 126 邮箱:主机名 smtp.126.com 端口 465 或 587(加密类型:SSL)
  • yeah 邮箱:主机名 smtp.yeah.net 端口 465 或 587(加密类型:SSL)
  • 新浪邮箱:主机名 smtp.sina.com 端口 端口 465(加密类型:SSL)
  • Gmail 邮箱:主机名 smtp.gmail.com 端口 587(加密类型:TLS)
  • Hotmail/Live/Outlook邮箱:主机名 smtp-mail.outlook.com 端口 587(加密类型:TLS)
  • QQ 邮箱:主机名 smtp.qq.com 端口 465(加密类型:SSL) *不推荐

* 小提示 1: 一定要仔细检查填写的端口是 465 或 587,而不是 456、578等。
* 小提示 2: 以上列出的邮箱附件大小除 Gmail/Outlook 是 25MB 外皆为 50MB。
* 小提示 3: 目前 Gmail 在大陆处于被封锁状态,暂时无法使用。
* 小提示 4: 新注册的 163 邮箱无法立即使用。

邮件参数填写效果如下:

Calibre 邮件参数设置

5、测试邮件推送

全部设置完毕后点击右下角的“测试邮件发送”按钮,会出现“该操作会在屏幕上明文显示你的电子邮件地址密码。要继续吗?”的提示,点击“是”会弹出一个测试对话框,点击“测试”按钮,如果显示框出现“邮件已发出”即表示设置成功,否则请检查设置重试。点击“确定”按钮退出该对话框。点击左上角的“应用”按钮保存刚才的设置,结束设置。

* 测试邮件发出后不久,亚马逊Kindle客服的自动回复系统会向你的推送邮箱发送一封主题为“你发送至Kindle的邮件未附任何文件附件”的提示邮件,请忽略。

6、用右键一键推送图书

回到主界面书库,选择一个或多个电子书,右键点击所选电子书,在弹出的菜单里将鼠标指针悬浮到“连接/共享”,在弹出的子菜单中点击“发送右键至***@kindle.cn”(***@kindle.cn 就是第2步填写的那个邮箱),就可以直接把这些电子书发送到你亚马逊账户中的【我的内容】中了。

当我们将epub等格式的电子书转换成mobi格式后,只需要通过右键菜单就可以将转换后的电子书推送到亚马逊的云端了,是不是很方便。快来试试吧!

二、错误的排查及解决方法

* 无法推送成功请检查:

如果你无法推送成功,请仔细检查“发信人地址”和邮件服务器中的“用户名”是否都是“xxx@xxx.com”这样的格式,比如你的邮件是“ test@simple.com”,那么设置中的“用户名”和“发信地址”都应该填写“test@simple.com”,“用户名”不能只填写“test”,“发信地址”也不能只填写“@simple.com”。另外还需要检查端口是否填写正确,一般邮箱可选择“加密”类型为“SSL”,端口号应该填写 456 或 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 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件。可能由于大量发送邮件导致的,如果遇到此错误请更换其他邮箱。

有帮助,[ 捐助本站 ] 或分享给小伙伴:

发表评论

标注为 * 的是必填项。您填写的 Email 将会被保密。如果是在本站首次留言,审核后才能显示。

小伙伴们发表了 320 条评论

  1. Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 203, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 139, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 607, in login
    File “site-packages\calibre\utils\smtplib.py”, line 569, in ehlo_or_helo_if_needed
    SMTPHeloError: (500, ‘Error: bad syntax’)

    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: ‘ehlo lenovo-PC.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax
    send: ‘helo lenovo-PC.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax

    为什么

  2. 你好,我想问下用Calibre推送的时候,如果我原本的格式就是azw3,我不想转换成mobi再推送,我可以直接推送azw3格式的书籍吗?怎么设置呢?

  3. 这样报错帮忙看下可以吗
    Starting job: 把 [Comic][火凤燎原][陈某][东立][HMM]Vol.10 发Email到 1532251785_18@kindle.cn
    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 44, in run
    File “site-packages\calibre\gui2\email.py”, line 134, in sendmail
    File “site-packages\calibre\utils\smtp.py”, line 132, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 334, in connect
    File “site-packages\calibre\utils\smtplib.py”, line 829, in _get_socket
    File “ssl.py”, line 891, in wrap_socket
    File “ssl.py”, line 566, in __init__
    File “ssl.py”, line 788, in do_handshake
    error: [Errno 10060]

    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 44, in run
    File “site-packages\calibre\gui2\email.py”, line 134, in sendmail
    File “site-packages\calibre\utils\smtp.py”, line 132, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 334, in connect
    File “site-packages\calibre\utils\smtplib.py”, line 829, in _get_socket
    File “ssl.py”, line 891, in wrap_socket
    File “ssl.py”, line 566, in __init__
    File “ssl.py”, line 788, in do_handshake
    error: [Errno 10060]

    Job: “把 [Comic][火凤燎原][陈某][东立][HMM]Vol.10 发Email到 1532251785_18@kindle.cn” failed with error:
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\threaded_jobs.py”, line 84, in start_work
    File “site-packages\calibre\gui2\email.py”, line 101, in __call__
    error: [Errno 10060]

    Called with args: (u’C:\\Users\\Lenovo\\AppData\\Local\\Temp\\calibre__4mhva\\r2ebrycaltmpfmt.mobi’, u'[Comic][Huo Feng Liao Yuan ][Chen Mou ][Dong Li ][HMM]Vol.10 – KCC.mobi’, u’ 1532251785_18@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a [Comic][\u706b\u51e4\u71ce\u539f][\u9648\u67d0][\u4e1c\u7acb][HMM]Vol.10′, u’\u5df2\u6dfb\u52a0, \u60a8\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\n[Comic][\u706b\u51e4\u71ce\u539f][\u9648\u67d0][\u4e1c\u7acb][HMM]Vol.10\n\t\u7531 KCC\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’abort’: , u’log’: , u’notifications’: }

  4. 你好,用hotmail邮箱进行推送,设置均与上面一样,白名单也无问题,在发送测试邮件时显示
    error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
    另外,在用新浪邮箱时测试邮件发送没有问题,但推送书时开始推送后10秒左右就显示推送完成,然后查看之后发现并无邮件发送出去,kindle云端也没有收到。另外用163邮箱也不行,测试邮件也无法发送,确定使用的是授权密码而不是登陆密码。系统是win10 64位,请问有什么解决办法?谢谢

  5. 并没有应用键,然后每次进入都要再次输入邮箱,测试邮件也可以发成功,就卡在应用那里。用的32位官方下载,163邮箱,都按步骤来的

  6. 请问测试邮件发送成功,但忘了点“应用”,发书时有显示邮箱但kindle接收不到,怎么办呢?

      • 不是,测试邮件我的kindle上没有显示,但电脑上有显示文件为空,后来我发书的时侯没有显示错误,说是发送成功,但我的kindle上并没有收到书

  7. Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 203, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 139, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 607, in login
    File “site-packages\calibre\utils\smtplib.py”, line 569, in ehlo_or_helo_if_needed
    SMTPHeloError: (500, ‘Error: bad syntax’)

    Log:
    connect: (u’smtp.126.com’, 465)
    connect: (u’smtp.126.com’, 465)
    reply: ‘220 126.com Anti-spam GT for Coremail System (126com[20140526])\r\n’
    reply: retcode (220); Msg: 126.com Anti-spam GT for Coremail System (126com[20140526])
    connect: 126.com Anti-spam GT for Coremail System (126com[20140526])
    send: ‘ehlo DESKTOP-AG02O1D.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax
    send: ‘helo DESKTOP-AG02O1D.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax
    求帮忙解答一下

    • Georgina 您好。出现“500 Error: bad syntax”这个错误提示,原因不是很明确,请先检查您输入的账号是否含有什么特殊字符,如果确认没有的话,就换个邮箱试试看。

  8. 测试邮箱推送,显示以下编码:

    Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 203, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 132, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 334, in connect
    File “site-packages\calibre\utils\smtplib.py”, line 828, in _get_socket
    File “socket.py”, line 571, in create_connection
    error: [Errno 10060]

    Log:
    connect: (u’smtp.163.com’, 465)
    connect: (u’smtp.163.com’, 465)

    请问怎么解决?

    • 错误 Errno 10060 代表超时,请检查一下网络是否存在问题,比如使用了不能正常工作的代理。

  9. 测试空白邮件,显示如下:

    Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 203, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 132, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 334, in connect
    File “site-packages\calibre\utils\smtplib.py”, line 828, in _get_socket
    File “socket.py”, line 571, in create_connection
    error: [Errno 10060]

    Log:
    connect: (u’smtp.163.com’, 587)
    connect: (u’smtp.163.com’, 587)

    求教:什么原因?

  10. calibre, version 2.70.0 (win32, embedded-python: True)
    无法通过电子邮件发送书籍: 失败: 把 白夜行 发Email到 8613122031802@kindle.cn

    Starting job: 把 白夜行 发Email到 8613122031802@kindle.cn
    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: ‘ehlo admin.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax
    send: ‘helo admin.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax

    Sending failed…

    Traceback (most recent call last):
    File “site-packages\calibre\gui2\email.py”, line 44, in run
    File “site-packages\calibre\gui2\email.py”, line 134, in sendmail
    File “site-packages\calibre\utils\smtp.py”, line 139, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 607, in login
    File “site-packages\calibre\utils\smtplib.py”, line 569, in ehlo_or_helo_if_needed
    SMTPHeloError: (500, ‘Error: bad syntax’)

    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’, 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: ‘ehlo admin.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax
    send: ‘helo admin.DHCP HOST\r\n’
    reply: ‘500 Error: bad syntax\r\n’
    reply: retcode (500); Msg: Error: bad syntax

    Sending failed…

    Traceback (most recent call last):
    File “site-packages\calibre\gui2\email.py”, line 44, in run
    File “site-packages\calibre\gui2\email.py”, line 134, in sendmail
    File “site-packages\calibre\utils\smtp.py”, line 139, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 607, in login
    File “site-packages\calibre\utils\smtplib.py”, line 569, in ehlo_or_helo_if_needed
    SMTPHeloError: (500, ‘Error: bad syntax’)

    Job: “把 白夜行 发Email到 8613122031802@kindle.cn” failed with error:
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\threaded_jobs.py”, line 84, in start_work
    File “site-packages\calibre\gui2\email.py”, line 101, in __call__
    SMTPHeloError: (500, ‘Error: bad syntax’)

    Called with args: (u’C:\\Users\\dell\\AppData\\Local\\Temp\\calibre_husg2v\\pby0e2caltmpfmt.mobi’, u’Bai Ye Xing – (Ri )Dong Ye Gui Wu.mobi’, u’8613122031802@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a \u767d\u591c\u884c’, u’\u5df2\u6dfb\u52a0, \u60a8\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\n\u767d\u591c\u884c\n\t\u7531 \uff08\u65e5\uff09\u4e1c\u91ce\u572d\u543e\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’notifications’: , u’abort’: , u’log’: }
    这是什么原因