我预计在 Ubuntu 12.04 中尝试使用 mutt 时会遇到很多问题。这是我的 .muttrc:http://paste.ubuntu.com/1273585/
这是我尝试连接时遇到的错误。
gnutls_handshake: A TLS packet with unexpected length was received.
是否有人知道如何解决此错误?如果知道,请尽快提出建议。
提前谢谢了!
为了进行调试,这是我的 mutt -v 的输出:http://paste.ubuntu.com/1273590/
答案1
不幸的是,这可能是 Mutt 及其使用的一个问题gnutls
,正如从Mutt 邮件列表,但也有一些解决方案。
值得从中删除头文件,.mutt/cache/headers
因为它们有时会导致问题。我还注意到,在您的中.muttrc
没有一行mailboxes
。我使用 gmail,Mutt
并且在我的中有以下内容.muttrc
(尽管您的可能不同):
mailboxes +INBOX +archive +sent +drafts +spam +trash
我之所以提到这一点是因为发射台讨论了这个错误,有人提到仅指定正确的邮箱即可解决他的问题。
.muttrc
总体而言,将您的与我的进行比较没有发现其他差异,Mutt
并且 gmail 对我来说几乎具有相同的设置。
然而,如果这些建议不能解决您的问题,可以Mutt
从源代码构建并确保使用支持构建它openssl
,这样您就可以使用openssl
而不是gnutls
。我注意到在您的第二个Pastebin中,您的Mutt确实是用构建的gnutls
,正如您的调试所显示的那样:
-USE_SSL_OPENSSL +USE_SSL_GNUTLS
这里的-
意思是没有该属性,和+
意思是有该属性。
因此,在开始构建之前,请清除当前安装的mutt
:
sudo apt-get purge mutt
然后获取依赖项
sudo apt-get build-dep mutt
在这里使用是可以的,build-dep
因为的最新版本mutt
(在撰写本文时)不需要比使用 获取的库更新的任何库build-dep
。
您还需要确保输入:
sudo apt-get install openssl libsasl2-modules libssl-dev libssl1.0.0
现在从下载最新的源代码官方网站(撰写本文时版本为 1.5.21),然后验证适当的 gpg 签名,然后
cd
对下载的文件进行解压,并使用
tar xzvf mutt-1.5.21.tar.gz
然后将这些额外的选项传递给configure
(我们需要包括其他选项以及ssl
支持imap
和smtp
其他内容默认未编译):
./configure --enable-pop --enable-imap --enable-smtp --with-ssl --enable-hcache --with-gss --with-sasl --enable-debug --enable-gpgme
然后继续构建并安装程序
make
sudo make install or sudo checkinstall
构建仅需几分钟,然后您就可以Mutt
再次使用了。在运行新程序之前,清除标头缓存(如我上面详细介绍的那样)可能是一个好主意。它将自动使用 ssl,因为现在没有内置 tls 支持。
新编译的程序的屏幕截图(显示一些较旧的非个人电子邮件):