Mutt не работает из-за "gnutls_handshake: получен пакет TLS с неожиданной длиной". ошибка
Я ожидаю много проблем, пытаясь заставить Mutt работать в Ubuntu 12.04. Вот мой.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
Я упоминаю об этом, потому что на Launchpad обсуждалась эта ошибка, и кто-то упомянул, что указание только правильных почтовых ящиков решило его проблему.
Сравнивая ваши .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.
Скриншот из только что скомпилированной программы (показаны некоторые старые, не личные письма):