msmtp Тайм-аут TLS - PullRequest
       30

msmtp Тайм-аут TLS

0 голосов
/ 06 июня 2019

Я просмотрел список возможных решений, но не вижу этой проблемы, вот она.

В течение многих лет я использовал smtp для своей записи в crontab, чтобы предоставлять обновления статуса по электронной почте. Затем он ушел на этой неделе, и я не смог это исправить. Затем я увидел, что он стал осиротевшим, и было предложено перейти на MSMTP. Поэтому я скачал и установил его в своей системе Ubuntu 18.10.

Я пытаюсь отправить электронное письмо на мою учетную запись myaccount@gmail.com. Похоже, что я общаюсь правильно с SMTP-сервером Gmail, как показано ниже отладки. Но он всегда получает тайм-аут TLS.

Я также не понимаю, почему у меня несколько записей EHLO. У моей системы нет доменного имени DNS, так что я не уверен, что здесь поставить; localhost работает нормально. Кроме того, мой почтовый Thunderbird работает правильно с Gmail.

Here's the debug output:

echo "Hello there" | msmtp --debug myaccount@gmail.com >/tmp/msmtpOut.txt

ignoring system configuration file /etc/msmtprc: No such file or directory
loaded user configuration file /home/myhome/.msmtprc
falling back to default account
using account default from /home/myhome/.msmtprc
host = smtp.gmail.com
port = 587
proxy host = (not set)
proxy port = 0
timeout = off
protocol = smtp
domain = localhost
auth = choose
user = myaccount
password = *
passwordeval = (not set)
ntlmdomain = (not set)
tls = on
tls_starttls = on
tls_trust_file = /etc/ssl/certs/ca-certificates.crt
tls_crl_file = (not set)
tls_fingerprint = (not set)
tls_key_file = (not set)
tls_cert_file = (not set)
tls_certcheck = on
tls_min_dh_prime_bits = (not set)
tls_priorities = (not set)
auto_from = off
maildomain = (not set)
from = myaccount@gmail.com
add_missing_from_header = on
dsn_notify = (not set)
dsn_return = (not set)
logfile = (not set)
syslog = (not set)
aliases = (not set)
reading recipients from the command line
<-- 220 smtp.gmail.com ESMTP 4sm116524ywc.22 - gsmtp
--> EHLO localhost
<-- 250-smtp.gmail.com at your service, [71.56.87.81]
<-- 250-SIZE 35882577
<-- 250-8BITMIME
<-- 250-STARTTLS
<-- 250-ENHANCEDSTATUSCODES
<-- 250-PIPELINING
<-- 250-CHUNKING
<-- 250 SMTPUTF8
--> STARTTLS
<-- 220 2.0.0 Ready to start TLS
TLS certificate information:
    Owner:
        Common Name: smtp.gmail.com
        Organization: Google LLC
        Locality: Mountain View
        State or Province: California
        Country: US
    Issuer:
        Common Name: Google Internet Authority G3
        Organization: Google Trust Services
        Country: US
    Validity:
        Activation time: Tue 21 May 2019 04:48:45 PM EDT
        Expiration time: Tue 13 Aug 2019 04:32:00 PM EDT
    Fingerprints:
        SHA256: C7:78:B6:D6:4E:3E:2B:2F:08:6D:A4:84:E6:1D:87:8E:A1:DF:54:D2:AB:79:AC:A6:BB:50:E5:5D:EC:B4:20:4C
        SHA1 (deprecated): 39:C5:E5:40:64:37:17:25:17:7F:E8:BA:20:F4:70:F4:FE:22:70:22
--> EHLO localhost
msmtp: cannot read from TLS connection: the operation timed out
msmtp: could not send mail (account default from /home/myhome/.msmtprc)

1 Ответ

0 голосов
/ 06 июня 2019

Создайте msmtp, используя --with-tls=openssl для решения проблемы.

Что касается команды EHLO, отправленной дважды, то RFC3207 сообщает:

Сервер ДОЛЖЕН отбросить любые знания полученный от клиента, такой как аргумент команды EHLO, который не был получен из самого согласования TLS. Клиент ДОЛЖНЫ отказаться от любых знаний, полученных с сервера, таких как список расширений службы SMTP, которые не были получены из TLS переговоры сами Клиент ДОЛЖЕН отправить команду EHLO как первая команда после успешного согласования TLS.

Так что это нормальное поведение.

...