msmtp зависает вместо доставки сообщения

Я пытаюсь настроить msmtp (в Ubuntu 12.04). Когда я пытаюсь отправить электронное письмо, оно «зависает» (ну, ctrl-c прерывает его, так что это не совсем зависание, но, похоже, ничего не делает). Вот мой .msmtprc (здесь и далее пароль и все адреса верны, конечно):

account wmi

host smtp.wmi.amu.edu.pl
port 465
auth on
user mbork
password ***
from from@address

account default : wmi

Когда я вызываю cat mailtest.txt | msmtp -v to@address, я получаю это:

ignoring system configuration file /etc/msmtprc: Nie ma takiego pliku ani katalogu
loaded user configuration file /home/marcin/.msmtprc
falling back to default account
using account default from /home/marcin/.msmtprc
host                  = smtp.wmi.amu.edu.pl
port                  = 465
timeout               = off
protocol              = smtp
domain                = localhost
auth                  = choose
user                  = mbork
password              = *
passwordeval          = (not set)
ntlmdomain            = (not set)
tls                   = off
tls_starttls          = on
tls_trust_file        = (not set)
tls_crl_file          = (not set)
tls_fingerprint       = (not set)
tls_key_file          = (not set)
tls_cert_file         = (not set)
tls_certcheck         = on
tls_force_sslv3       = off
tls_min_dh_prime_bits = (not set)
tls_priorities        = (not set)
auto_from             = off
maildomain            = (not set)
from                  = from@address
dsn_notify            = (not set)
dsn_return            = (not set)
keepbcc               = off
logfile               = (not set)
syslog                = (not set)
aliases               = (not set)
reading recipients from the command line

и ничего не происходит.

(Файл mailtest.txt выглядит следующим образом:

To: to@address
From: from@address
Subject: A test

msmtp testing

)

Что может вызвать эту проблему?

1
задан 28 December 2012 в 14:48

4 ответа

ОК, проблема решена. msmtp версия 1.4.26, кажется, сломана; после установки v1.4.30 он начал работать.

0
ответ дан 28 December 2012 в 14:48

Осторожно! «чтение получателей из командной строки» - это последнее информационное сообщение из msmtp перед попыткой подключения к серверу. Если он зависает в этот момент, это означает, что он не может подключиться. Ничего общего с командной строкой, так что не делай то, что я сделал, и продолжай погоню за дикими гусями. Вы можете попробовать подключиться через telnet (например, telnet mail.example.com 587), чтобы узнать, отвечает ли сервер. Если нет, дважды проверьте его URL и порт. Или, в моем случае, fail2ban на сервере забанил меня после нескольких неудачных попыток входа в систему из-за неправильного имени пользователя. Простой ответ в этом случае - подождать несколько часов до истечения срока запрета.

0
ответ дан 28 December 2012 в 14:48

Извините, что вернул этот старый поток к жизни, но видя, что 12.04 в настоящее время все еще является LTS, он все еще может быть полезен для некоторых.

Сегодня я настроил msmtp и столкнулся с той же проблемой, что и описанный OP; команда висит на "чтение получателей из командной строки". Я решил проблему, добавив параметр «порт» и порт, используемый моим провайдером. Если параметр порта не установлен, используется значение по умолчанию (25), и мой провайдер использует другой порт при использовании STARTTLS.

Я вижу, что в OP уже настроен параметр порта, поэтому в данном конкретном случае это может не являться проблемой. Однако в моей конфигурации электронное письмо было успешно отправлено (и получено), поэтому я не верю, что msmtp 1.4.26 не работает.

0
ответ дан 28 December 2012 в 14:48

В моем случае была вызвана эта проблема, потому что msmtp позволяет StartTLS по умолчанию. Когда StartTLS позволят, msmtp будет соединяться с сервером и ждать, чтобы сервер послал данные (сообщение приветствия SMTP). Если сервер не будет поддерживать StartTLS и будет ожидать, что соединение будет зашифровано с SSL с начала, то это не пошлет данные и будет ждать клиента, чтобы настроить соединение SSL.

, Таким образом, Вы можете попытаться установить tls_starttls off в defaults раздел ~/.msmtprc. Также проверьте, что порт правилен.

(Чтобы устранить эту проблему, я проверил с strace msmtp, что то, когда msmtp вешал ее, соединялось с правильным сервером на правильном порте и ждало, чтобы получить данные, тогда как использование openssl s_client на том же сервере и порте, казалось, работало.)

0
ответ дан 7 December 2019 в 13:00

Другие вопросы по тегам:

Похожие вопросы: