У меня есть сценарий, который работает на нескольких серверах. Некоторые серверы используют sSMTP, а некоторые используют постфикс.Найти версию sendmail (sSMTP или Postfix или другое)
Я хочу найти какую версию Sendmail мой сервер работает в режиме исполнения, поскольку -t
не поддерживается в SSMTP но является обязательным в Postfix
Теперь начинается вызов.
sendmail -V
на SSMTP вариантных выходов sSMTP 2.64 (Not sendmail at all)
но вариант постфикса не имеет -V
опцию для отображения версии.
Мне удалось выполнить его с помощью следующего фрагмента.
VER=$(sendmail -V 2>/dev/null)
if [[ "sSMTP" == $VER* ]]; then
echo $BODY | sendmail $EMAIL #sSMTP
else
echo $BODY | sendmail -t $EMAIL #postfix
fi
Есть ли более эффективный способ достижения этого?
Я хочу найти, какой вариант sendmail находится на моем сервере. Не только постфикс или sSMTP.
Не можете ли вы спросить менеджера пакетов, например, 'apt list', что установлено? – Robert
Почему, по вашему мнению, 'ssmtp' не поддерживает' sendmail -t'? Моя делает. См. [Man page] (https://linux.die.net/man/8/ssmtp) – tripleee
экземпляр sendmail, если ssmtp? @tripleee Я так не считаю! – Sibidharan