У меня установлена та же версия ssmtp
, установленная в Debian 9 и CentOS 7.
Debian:
~# ssmtp -V
sSMTP 2.64 (Not sendmail at all)
CentOS:
# ssmtp -V
sSMTP 2.64 (Not sendmail at all)
У меня есть идентичные конфигурации в /etc/ssmtp/ssmtp.conf
для обеих систем:
root=my_user@domain.com
mailhub=mail.domain.com:587
Hostname=otherfully.qualifieddomain.com
UseTLS=Yes
UseSTARTTLS=Yes
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
AuthUser=my_user
AuthPass=my_password
AuthMethod=LOGIN
Затем я отправляю электронное письмо, запустив следующий скрипт:
#!/bin/bash
{
echo 'To: another_user@domain.com'
echo 'From: my_user@domain.com'
echo 'Subject: Test subject'
echo ''
echo 'Test body'
} | ssmtp -vvv 'another_user@domain.com'
В Debian этот скрипт завершается без ошибок , с кодом выхода 0, и электронная почта прибывает как предназначено. Но в CentOS происходит сбой со следующей ошибкой.
# ./script.sh
[<-] 220 rn-mailsvcp-mmp-lapp04.rno.domain.com -- Server ESMTP (Oracle Communications Messaging Server 8.1.0.1.20190704 64bit (built Jul 4 2019))
[->] EHLO otherfully.qualifieddomain.com
[<-] 250 SIZE 157286400
[->] STARTTLS
[<-] 220 2.5.0 Go ahead with TLS negotiation
ssmtp: Cannot open mail.domain.com:587
Насколько я могу судить, единственное различие между этими двумя конфигурациями состоит в том, что каталог TLS_CA_File
, /etc/pki/tls/certs/ca-bundle.crt
, не существует на машина Debian. Он существует на компьютере CentOS и содержит данные. Однако, если я изменю TLS_CA_File
на компьютере CentOS так, чтобы он указывал на несуществующий файл, как на компьютере Debian, я все равно получаю ту же ошибку.
С чего бы это? Есть ли какой-нибудь другой файл конфигурации, о котором я не знаю?
Буду признателен за любую помощь здесь. Я также открыт для предложений по другим простым почтовым инструментам, которые будут последовательно работать как в Debian, так и в CentOS.