解决 Calibre 推送“500 Error: bad syntax”错误

很多小伙伴喜欢用 Calibre 推送电子书,书伴也曾写过一篇文章《Calibre 使用教程之邮件一键推送电子书》详细介绍了如何使用 Calibre 推送电子书。但很长一段时间以来,在这篇文章的留言中,反馈最多的一个问题,就是在某些情况下,即便 SMTP 设置完全正确,推送时还是会抛出如下错误:

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

这个问题给很多小伙伴们造成了困扰,之前虽然知道错误提示“bad syntax”很明确,是语法错误,但是却没有深究,也就没有得出解决办法。今天有一位署名“啦啦啦”的小伙伴提供了一条好消息,称找到了解决方法,此方法是一位名为“markdown”的网友提供的。在此先向这两位小伙伴表示谢意。

这个错误应该只出现在 Windows 系统上。如果你遇到了这个错误,可在“控制版面”中点击“查看网络状态和任务”进入“网络和共享中心”,点击现在使用的网络连接,然后点击【详细信息】按钮,可在“网络连接详细信息”中看到“连接特定的 DNS 后缀”这一项(如下图所示),它的值应该和以上所示报错信息中红色文字所示部分类似,这个值中含有“空格”就是导致发信出错的原因。

▲ 值中含有“空格”就是导致发信出错

知道了原因就找到了解决方法,我们只需要修改一下这个值,让它不再含有空格就可以了。具体步骤为:在“控制版面”中点击“查看网络状态和任务”进入“网络和共享中心”,点击现在使用的网络连接,点击网络连接的【属性】按钮,双击“Internet 协议版本 4(TCP/IPv4)”这一项,再点击【高级】按钮,切换到“DNS”标签,把“此连接的 DNS 后缀”修改为 HOST 或清空,然后依次确认保存。

▲ 修改“此连接的 DNS 后缀”

最后重新进入 Calibre 的“通过邮件分享”设置,重新“测试发送邮件”,应该就可以正常发信了。

——————-

参考:Calibre邮件推送错误处理

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

发表评论

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

小伙伴们发表了 2 条评论