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

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

一、Calibre 的设置及推送步骤

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

1、下载安装Calibre

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

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

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

3、填写推送邮箱

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

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

接下来设置“邮件服务器”。Calibre 支持两种发送邮件的方式,既可以自行选用。

方式一:留空邮件服务器

Calibre 的“邮件服务器”不是必填项,你可以将其留空,这样 Calibre 会将你的电脑作为邮件服务器发送邮件。虽然通过这种方式发送的电子邮件是伪造邮件(邮箱无法通过 SFP 验证),大部分邮件服务商通常都会被标记为垃圾邮件,但貌似并不影响 Kindle 邮箱的收信,发信速度取决于你的网络速度。via

方式二:指定邮件服务器

如果通过以上方式推送时遇到了错误,或 Kindle 收不到邮件,就需要手动指定邮件服务器了。如果你用的是 Gmail 或 Live/Outlook/Hotmail 邮箱,直接点右边相应的图标填写你的邮箱地址及用户名密码即可,软件将会自动为你填写主机名和端口。如果使用其他的邮箱请自行填写邮箱服务器设置并填入你的邮箱用户名和密码。常见的几个邮箱服务器如下:

  • 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,而不是 465、578等。
* 小提示 2: 以上列出的邮箱附件大小除 Gmail/Outlook 是 25MB 外皆为 50MB。
* 小提示 3: 目前 Gmail 在大陆处于被封锁状态,暂时无法使用。
* 小提示 4: 新注册的 163 邮箱无法立即使用。
* 小提示 5: 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”,端口号应该填写 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 的连接。

有帮助,分享给其他小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 600 条评论

  1. 我邮箱测试内容显示:您从2018年5月14日15:12 发出的如下文档无法发送到您指定的Kindle上:
    * Niu Yue Shi Bao [Zhou Yi , 14 5Yue 2018] – calibre.epub

    Kindle个人文档服务目前只能转换并发送以下类型的文档:
    Microsoft Word (.doc, .docx)
    RTF文件(.rtf)
    HTML(.htm, .html)
    TXT文件(.txt)
    Zip, x-zip压缩文件
    Mobi格式电子书

    JPEG (.jpg), GIF (.gif), Bitmap (.bmp) 和 PNG (.png) 格式的图片。
    Adobe PDF (.pdf)文档可维持原文件格式,发送至您的Kindle。

    并且在calibre获取新闻失败显示:bird20168@163.com
    connect: (u’bird20168@163.com’, 587)
    connect: (u’bird20168@163.com’, 587)

    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 147, 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 “socket.py”, line 557, in create_connection
    gaierror: [Errno 11003] 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’bird20168@163.com’, 587)
    connect: (u’bird20168@163.com’, 587)

    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 147, 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 “socket.py”, line 557, in create_connection
    gaierror: [Errno 11003] getaddrinfo failed

    Job: “把 纽约时报 [周三, 16 5月 2018] 发Email到 bird20168@163.com” 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__
    gaierror: [Errno 11003] getaddrinfo failed

    Called with args: (u’C:\\Users\\\u5929\u57ce\\AppData\\Local\\Temp\\calibre_i65wlw\\psldo7caltmpfmt.epub’, u’Niu Yue Shi Bao [Zhou San , 16 5Yue 2018].epub’, u’bird20168@163.com’, u’\u65b0\u95fb: \u7ebd\u7ea6\u65f6\u62a5 [\u5468\u4e09, 16 5\u6708 2018]’, u’\u9644\u4ef6\u4e2d\u662f calibre \u4e0b\u8f7d\u7684\u671f\u520a \u7ebd\u7ea6\u65f6\u62a5 [\u5468\u4e09, 16 5\u6708 2018]\u3002′) {u’abort’: , u’log’: , u’notifications’: }

  2. calibre, version 3.17.0 (win32, embedded-python: True)
    无法通过电子邮件发送书籍: 失败: 把 法医秦明作品集:幸存者+清道夫+第十一根手指+无声的证词+尸语者(套装共5册)(真实!专业!隐秘!震撼!张若昀、焦俊艳主演法医秦明系列网剧现已火爆开启!) 发Email到 1461565958@kindle.cn

    Starting job: 把 法医秦明作品集:幸存者+清道夫+第十一根手指+无声的证词+尸语者(套装共5册)(真实!专业!隐秘!震撼!张若昀、焦俊艳主演法医秦明系列网剧现已火爆开启!) 发Email到 1461565958@kindle.cn
    connect: (u’smtp.163.com’, 587)
    connect: (u’smtp.163.com’, 587)
    reply: ‘554 HL:ITC 0,163 smtp8,DMCowAAHsnyfeOpah06HCA–.41118S0 1525315743 http://mail.163.com/help/help_spam_16.htm?ip=115.231.223.21&hostid=smtp8&time=1525315743\r\n’
    reply: retcode (554); Msg: HL:ITC 0,163 smtp8,DMCowAAHsnyfeOpah06HCA–.41118S0 1525315743 http://mail.163.com/help/help_spam_16.htm?ip=115.231.223.21&hostid=smtp8&time=1525315743
    connect: HL:ITC 0,163 smtp8,DMCowAAHsnyfeOpah06HCA–.41118S0 1525315743 http://mail.163.com/help/help_spam_16.htm?ip=115.231.223.21&hostid=smtp8&time=1525315743
    send: ‘ehlo YH-P1SG0UE30JBV.lan\r\n’
    reply: ‘421 IP is rejected\r\n’
    reply: retcode (421); Msg: IP is rejected
    send: ‘helo YH-P1SG0UE30JBV.lan\r\n’

    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 154, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 607, in login
    File “site-packages\calibre\utils\smtplib.py”, line 567, in ehlo_or_helo_if_needed
    File “site-packages\calibre\utils\smtplib.py”, line 427, in helo
    File “site-packages\calibre\utils\smtplib.py”, line 392, in getreply
    SMTPServerDisconnected: Connection unexpectedly closed

    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: ‘554 HL:ITC 0,163 smtp8,DMCowAB3vn2geOpaK0+HCA–.39620S0 1525315745 http://mail.163.com/help/help_spam_16.htm?ip=115.231.223.21&hostid=smtp8&time=1525315745\r\n’
    reply: retcode (554); Msg: HL:ITC 0,163 smtp8,DMCowAB3vn2geOpaK0+HCA–.39620S0 1525315745 http://mail.163.com/help/help_spam_16.htm?ip=115.231.223.21&hostid=smtp8&time=1525315745
    connect: HL:ITC 0,163 smtp8,DMCowAB3vn2geOpaK0+HCA–.39620S0 1525315745 http://mail.163.com/help/help_spam_16.htm?ip=115.231.223.21&hostid=smtp8&time=1525315745
    send: ‘ehlo YH-P1SG0UE30JBV.lan\r\n’
    reply: ‘421 IP is rejected\r\n’
    reply: retcode (421); Msg: IP is rejected
    send: ‘helo YH-P1SG0UE30JBV.lan\r\n’

    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 154, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 607, in login
    File “site-packages\calibre\utils\smtplib.py”, line 567, in ehlo_or_helo_if_needed
    File “site-packages\calibre\utils\smtplib.py”, line 427, in helo
    File “site-packages\calibre\utils\smtplib.py”, line 392, in getreply
    SMTPServerDisconnected: Connection unexpectedly closed

    Job: “把 法医秦明作品集:幸存者+清道夫+第十一根手指+无声的证词+尸语者(套装共5册)(真实!专业!隐秘!震撼!张若昀、焦俊艳主演法医秦明系列网剧现已火爆开启!) 发Email到 1461565958@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__
    SMTPServerDisconnected: Connection unexpectedly closed

    Called with args: (u’C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\calibre_6ejaxz\\ybvamtcaltmpfmt.mobi’, u’Fa Yi Qin Ming Zuo Pin Ji _Xing Cun Zhe _Qing Dao Fu _Di Shi Yi Gen Shou Zhi _Wu Sheng De Zheng Ci _Shi Yu Zhe (Tao Zhuang Gong 5Ce )(Zhen Shi !Zhuan Ye !Yin Mi !Zhen Han !Zhang Ruo Yun , Jiao Jun Yan Zhu Yan Fa Yi Qin Ming Xi Lie Wang Ju Xian Yi Huo Bao Kai Qi !) – Qin Ming.mobi’, u’1461565958@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a \u6cd5\u533b\u79e6\u660e\u4f5c\u54c1\u96c6:\u5e78\u5b58\u8005+\u6e05\u9053\u592b+\u7b2c\u5341\u4e00\u6839\u624b\u6307+\u65e0\u58f0\u7684\u8bc1\u8bcd+\u5c38\u8bed\u8005(\u5957\u88c5\u51715\u518c)\uff08\u771f\u5b9e\uff01\u4e13\u4e1a\uff01\u9690\u79d8\uff01\u9707\u64bc\uff01\u5f20\u82e5\u6600\u3001\u7126\u4fca\u8273\u4e3b\u6f14\u6cd5\u533b\u79e6\u660e\u7cfb\u5217\u7f51\u5267\u73b0\u5df2\u706b\u7206\u5f00\u542f\uff01\uff09′, u’\u5df2\u6dfb\u52a0, \u60a8\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\n\u6cd5\u533b\u79e6\u660e\u4f5c\u54c1\u96c6:\u5e78\u5b58\u8005+\u6e05\u9053\u592b+\u7b2c\u5341\u4e00\u6839\u624b\u6307+\u65e0\u58f0\u7684\u8bc1\u8bcd+\u5c38\u8bed\u8005(\u5957\u88c5\u51715\u518c)\uff08\u771f\u5b9e\uff01\u4e13\u4e1a\uff01\u9690\u79d8\uff01\u9707\u64bc\uff01\u5f20\u82e5\u6600\u3001\u7126\u4fca\u8273\u4e3b\u6f14\u6cd5\u533b\u79e6\u660e\u7cfb\u5217\u7f51\u5267\u73b0\u5df2\u706b\u7206\u5f00\u542f\uff01\uff09\n\t\u7531 \u79e6\u660e\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’log’: , u’notifications’: , u’abort’: }

    我用的是163邮箱,给我跳出这个问题,连接意外挂关闭。
    这我就不大懂了,而且我用了好久的163了,今天传的时候突然这样。

    • 从你提供信息里可以看到 163 返回的错误代码是 421官方文档对这一代码的解释有:存在接收者大量不存在情况、该 IP 发送行为异常、该 IP 同时并发连接数过大、该 IP 短期内发送了大量信件、存在大量伪造发送域域名行为。

      可以自检一下,是否存在短时间内推送很多电子书的情况,如果没有,是否推送任何电子书都会这样,换一个邮箱是否有同样的情况。

  3. 我这是什么错误呢,一直推送失败?详细信息是:
    Starting job: 把 精编蛋白质科学实验指南 发Email到 1154075407@kindle.cn

    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 116, in sendmail
    File “site-packages\calibre\utils\smtp.py”, line 234, in compose_mail
    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 44, in run
    File “site-packages\calibre\gui2\email.py”, line 116, in sendmail
    File “site-packages\calibre\utils\smtp.py”, line 234, in compose_mail
    MemoryError

    Job: “把 精编蛋白质科学实验指南 发Email到 1154075407@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__
    MemoryError

    Called with args: (u’C:\\Users\\Lenovo\\AppData\\Local\\Temp\\calibre_krpie5\\lkcjd4caltmpfmt.MOBI’, u’Jing Bian Dan Bai Zhi Ke Xue Shi Yan Zhi Nan – (Mei )J.E.Ke Lin Gen Deng Zhu.MOBI’, u’1154075407@kindle.cn’, u’\u7535\u5b50\u4e66\uff1a \u7cbe\u7f16\u86cb\u767d\u8d28\u79d1\u5b66\u5b9e\u9a8c\u6307\u5357′, u’\u5df2\u6dfb\u52a0, \u60a8\u53ef\u4ee5\u4ece\u4e2d\u83b7\u53d6\u7535\u5b50\u4e66\n\n\u7cbe\u7f16\u86cb\u767d\u8d28\u79d1\u5b66\u5b9e\u9a8c\u6307\u5357\n\t\u7531 \uff08\u7f8e\uff09J.E.\u79d1\u6797\u6839\u7b49\u8457\n\n\u4f7f\u7528 MOBI \u683c\u5f0f.’) {u’notifications’: , u’log’: , u’abort’: }

        • 亚马逊个人文档服务最大可接受 50MB 的电子书。一般邮件附件大小有 20MB 的限制(有的邮箱附件最大可支持 50MB)。这本书太大,这两个条件都不满足,所以无法成功推送,只能通过 USB 数据线拷贝到 Kindle 中阅读。

  4. 请问,我在VPS上用的calibre-smtp发送邮件,使用的是GMX邮箱,发送至Gmail邮箱,一直超时,该如何解决呢?
    我用的命令是:
    calibre-smtp –verbose –attachment=”$OUTFILE” –relay=”$SMTP” –port=”$PORT” –username=”$USER” –password=”$PASSWD” –encryption-method=TLS –subject= “$SUBJECTPREFIX ($DATESTR)” “$FROM” “$TO” “$CONTENTPREFIX ($DATESTR)”
    Log 如下:
    connect: (u’mail.gmx.com’, 587)
    connect: (u’mail.gmx.com’, 587)

    Traceback (most recent call last):
    File “site.py”, line 77, in main
    File “site-packages/calibre/utils/smtp.py”, line 291, in main
    File “site-packages/calibre/utils/smtp.py”, line 147, in sendmail
    File “site-packages/calibre/utils/smtplib.py”, line 334, in connect
    File “site-packages/calibre/utils/smtplib.py”, line 309, in _get_socket
    File “socket.py”, line 575, in create_connection
    error: [Errno 110] Connection timed out

      • 嗯,谢谢!这个我注意到了。今天发现是因为 DigitalO 把什么端口禁用了,导致不能发送邮件。

        • 一般 VPS 为防范制造垃圾邮件默认会禁用 25、465、587 端口,不过应该是可以提交工单申请开通的。

          • 谢谢,已经可以了,您真是热心!可以定时获取 RSS,然后通过邮件发送到 kindle 啦 :)

  5. Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 147, 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 “socket.py”, line 557, in create_connection
    gaierror: [Errno 11004] getaddrinfo failed

    Log:
    connect: (u’smtp.163.com’, 465)
    connect: (u’smtp.163.com’, 465)
    怎么解决

  6. 在calibre 和kindle上所有设置按教程完成,并发送成功测试邮件,用的是163邮箱,客户端授权码也重新设过,并完成测试邮件的发送,仍没有收到推送的电子书,不知何因,请高指点!!!

  7. 求助,怎么都弄不好
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 147, 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 “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)

  8. 发邮件成功了也收到了回复的邮件 但是在发送书籍的时候进度那一栏显示不可用 也发送不出去 求大神指点

  9. 我已使用科学上网,用Gmail发送成功过一次,然后就不行了,查看了log,显示以下错误:
    Starting job: 把 大学之路:陪女儿在美国选大学(上) 发Email到 xxx@kindle.cn
    connect: (u’smtp.gmail.com’, 587)
    connect: (u’smtp.gmail.com’, 587)

    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 147, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 334, in connect
    File “site-packages\calibre\utils\smtplib.py”, line 309, in _get_socket
    File “socket.py”, line 575, in create_connection
    error: [Errno 10060]

  10. Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 157, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 776, in sendmail
    SMTPDataError: (554, ‘DT:SPM 163 smtp9,DcCowAC3yUruIABaNdMfPg–.55325S2 1509957870,please see http://mail.163.com/help/help_spam_16.htm?ip=219.134.192.38&hostid=smtp9&time=1509957870′)

    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 [169.254.54.210]\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrzsAMJUCa0xDrUUUUj\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrzsAMJUCa0xDrUUUUj
    STARTTLS
    8BITMIME
    send: ‘AUTH PLAIN ADEzMDU4MDg3MDUzQDE2My5jb20AWjExMTExMQ==\r\n’
    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=”===============0233748704==”\r\nMIME-Version: 1.0\r\nSubject: Test mail from calibre\r\nTo: 2763570910@kindle.cn\r\nFrom: 13058087053@163.com\r\nDate: Mon, 06 Nov 2017 16:44:31 +0800\r\nMessage-Id: \r\n\r\nYou will not see this in a MIME-aware mail reader.\r\n\r\n–===============0233748704==\r\nContent-Type: text/plain; charset=”us-ascii”\r\nMIME-Version: 1.0\r\nContent-Transfer-Encoding: 7bit\r\n\r\nTest mail from calibre\r\n–===============0233748704==–\r\n.\r\n’
    reply: ‘554 DT:SPM 163 smtp9,DcCowAC3yUruIABaNdMfPg–.55325S2 1509957870,please see http://mail.163.com/help/help_spam_16.htm?ip=219.134.192.38&hostid=smtp9&time=1509957870\r\n’
    reply: retcode (554); Msg: DT:SPM 163 smtp9,DcCowAC3yUruIABaNdMfPg–.55325S2 1509957870,please see http://mail.163.com/help/help_spam_16.htm?ip=219.134.192.38&hostid=smtp9&time=1509957870
    data: (554, ‘DT:SPM 163 smtp9,DcCowAC3yUruIABaNdMfPg–.55325S2 1509957870,please see http://mail.163.com/help/help_spam_16.htm?ip=219.134.192.38&hostid=smtp9&time=1509957870’)
    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

    非常感谢后台的小伙伴,,,授权码ok了,然后又是新的问题。。。

    • 错误提示中给出了一个链接,163 邮箱给出的具体解释如下:

      554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;

      这个提示比较模糊,需要你多测试测试。比如登录网页版 163 邮箱,试试以附件的形式看看能不能发送。

  11. Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 147, 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 557, in create_connection
    gaierror: [Errno 11004] getaddrinfo failed

    Log:
    connect: (u’lifan.163.net’, 465)
    connect: (u’lifan.163.net’, 465)

    请问这个是什么原因呢?

    • Traceback (most recent call last):
      File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
      File “site-packages\calibre\utils\smtp.py”, line 154, in sendmail
      File “site-packages\calibre\utils\smtplib.py”, line 647, in login
      SMTPAuthenticationError: (535, ‘Error: authentication failed’)

      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 [169.254.54.210]\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFUFdzoUCa0xDrUUUUj\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFUFdzoUCa0xDrUUUUj
      STARTTLS
      8BITMIME
      send: ‘AUTH PLAIN ADEzMDU4MDg3MDUzQDE2My5jb20AMTExMTEx\r\n’
      reply: ‘535 Error: authentication failed\r\n’
      reply: retcode (535); Msg: Error: authentication failed

      改了正确的主机名,错误变成了这个QAQ

      • 这是用户验证错误,注意 163 的 SMTP 需要要使用授权码,而不是邮箱密码。如果使用的就是授权码,还是出现这个错误,可以尝试重新生成一下授权码。

  12. 按步骤都设置好了,但是有些书可以发送,有些书一直都发送失败,这是怎么回事

    • 发送失败的原因有很多,需要具体问题具体分析。一般出现错误会有错误提示,建议参考错误日志的提示检查问题所在。

  13. 按照教程把密码改成邮箱的授权码了但是还是出现这样的结果是怎么一回事呢,求解答,谢谢
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 154, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 647, in login
    SMTPAuthenticationError: (535, ‘Error: authentication failed’)

    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 [10.21.234.88]\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UF1DRDJUCa0xDrUUUUj\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UF1DRDJUCa0xDrUUUUj
    STARTTLS
    8BITMIME
    send: ‘AUTH PLAIN AHkxMDExMjc0NzQ0QDEyNi5jb20AeTYxMDgy\r\n’
    reply: ‘535 Error: authentication failed\r\n’
    reply: retcode (535); Msg: Error: authentication failed

    • 错误提示仍是帐户认证错误。首先检查一下邮箱设置中 SMTP 功能是否已打开。如果已打开,检查授权码输入的是否无误。如果设置和授权码都没问题,尝试重新设置一遍授权码,再重试。

  14. 请问这是怎么了呢
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 154, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 647, in login
    SMTPAuthenticationError: (535, ‘5.7.12 SMTP access disabled’)

    Log:
    connect: (u’smtp.sina.com’, 465)
    connect: (u’smtp.sina.com’, 465)
    reply: ‘220 smtp-5-122.smtpsmail.fmail.xd.sinanode.com ESMTP\r\n’
    reply: retcode (220); Msg: smtp-5-122.smtpsmail.fmail.xd.sinanode.com ESMTP
    connect: smtp-5-122.smtpsmail.fmail.xd.sinanode.com ESMTP
    send: ‘ehlo LAPTOP-GALLN6OT.nwsuaf.edu.cn\r\n’
    reply: ‘250-smtp-5-122.smtpsmail.fmail.xd.sinanode.com\r\n’
    reply: ‘250-AUTH LOGIN PLAIN\r\n’
    reply: ‘250-AUTH=LOGIN PLAIN\r\n’
    reply: ‘250-STARTTLS\r\n’
    reply: ‘250 8BITMIME\r\n’
    reply: retcode (250); Msg: smtp-5-122.smtpsmail.fmail.xd.sinanode.com
    AUTH LOGIN PLAIN
    AUTH=LOGIN PLAIN
    STARTTLS
    8BITMIME
    send: ‘AUTH PLAIN AGtvdG9naXJ1QHNpbmEuY29tADc0ODg1MjE=\r\n’
    reply: ‘535 5.7.12 SMTP access disabled\r\n’
    reply: retcode (535); Msg: 5.7.12 SMTP access disabled

  15. 请问这是为什么?
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\wizard\send_email.py”, line 207, in test_email_settings
    File “site-packages\calibre\utils\smtp.py”, line 154, in sendmail
    File “site-packages\calibre\utils\smtplib.py”, line 647, 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: ‘ehlo asus.sysu.edu.cn\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrwthfaUCa0xDrUUUUj\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 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrwthfaUCa0xDrUUUUj
    STARTTLS
    8BITMIME
    send: ‘AUTH PLAIN AGNzdXF6enhAMTYzLmNvbQBseHFnemxqcjEwMjI=\r\n’
    reply: ‘535 Error: authentication failed\r\n’
    reply: retcode (535); Msg: Error: authentication failed

    • 这是用户验证错误。使用 163 的 SMTP 客户端,必须在设置中开启 SMTP 功能,且必须使用“授权码”。如果以上条件满足,建议更换“授权码”再重试。

  16. 被’500 Error: bad syntax\r\n’困扰了好久,终于找到了解决方法,感谢大神,链接在此,http://www.jianshu.com/p/5419706229a0