2

I'm trying to get email working with msmtp (I used to have fetchmail+procmail for incoming and msmtp for outgoing---trying to restore that), but I'm getting the same errors when sending to different hosts (assuming it's my .msmtprc).

The error message is: "errormsg='the server sent an empty reply' exitcode=EX_PROTOCOL"

My .msmtprc (slightly edited)

# Set default values

defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile /home/jim/.msmtp.log

jim@jdgblogs.com

account jim@jdgblogs.com host mail.jdgblogs.com port 465 from jim@jdgblogs.com user jim@jdgblogs.com password (is listed here)

The details for my email server are copied right out of the details from my hosting company's information for my account, which I have used for this, using msmptp (but that was a long time and another computer running a different Linux. I verified the file with the certificates, too.

Back in the past, I just did the configuration and it worked. I'm obviously missing something, but what? msmtp is supposed to be easy (like sendmail was, when it used sendmail.cf---that I understood; that new system they switched to was impossible to work with).

Does anyone have any idea what might be going wrong here?

Thanks

grawity
  • 501,077

1 Answers1

2

The default behavior for tls on is to expect a plain SMTP connection and upgrade it to TLS using the STARTTLS command, as you would usually have on port 587 (or sometimes port 25).

Port 465 isn't usually set up that way – the connection instead immediately starts off with a TLS handshake, so you need to specify that using tls_starttls off.

grawity
  • 501,077