![Я остановил службу sendmail и запустил postfix. Sendmail все еще отображается в журналах электронной почты?](https://rvso.com/image/718153/%D0%AF%20%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D0%BB%20%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%83%20sendmail%20%D0%B8%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D0%BB%20postfix.%20Sendmail%20%D0%B2%D1%81%D0%B5%20%D0%B5%D1%89%D0%B5%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%B2%20%D0%B6%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%B0%D1%85%20%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%BF%D0%BE%D1%87%D1%82%D1%8B%3F.png)
На этом сервере установлены sendmail и postfix. Sendmail запущен, но работает некорректно. Я остановил службу sendmail и запустил postfix. Подтвердил, что работает только postfix, проверив вывод того, что прослушивает порт 25.
lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
master 119640 root 12u IPv4 28103863 0t0 TCP localhost:smtp (LISTEN)
master 119640 root 13u IPv6 28103864 0t0 TCP localhost:smtp (LISTEN)
Затем я тестирую отправку почты:
echo "My message" | mail -s testing [email protected]
Он не приходит в папку входящих сообщений root. Поэтому я смотрю логи в /var/log/maillog и вижу, что sendmail все еще используется:
Feb 26 16:18:13 server sendmail[1582]: w1QLIC8N001582: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30233, relay=exchangeserver.domain. [x.x.x.x], dsn=2.0.0, stat=Sent (<201802262118.w1QLIC8N001582@[email protected]> Queued mail for delivery)
Как это возможно?
решение1
Программа mail
запускается sendmail
для доставки почты (в режиме клиента, порт прослушивания при этом не открывается). Читайтестраница руководствадля получения подробной информации. Вы можете изменить MDA, установив sendmail
переменную:
Отправить письмо
Чтобы использовать альтернативную систему доставки почты, установите этот параметр на полный путь к программе, которую нужно использовать. Это следует использовать с осторожностью.
$ sendmail=/usr/bin/someothersendmail mail [email protected]
Subject: asdf
... and so on
Но поскольку почта ожидает, что MDA распознает параметры sendmail, я не вижу в этом особой пользы.
Другая возможность — использоватьвнешний SMTP-сервервместо sendmail
.
$ echo "This is the message body and contains the message" | mailx -v \
> -r "[email protected]" \
> -s "This is the subject" \
> -S smtp="mail.example.com:587" \
> -S smtp-use-starttls \
> -S smtp-auth=login \
> -S smtp-auth-user="[email protected]" \
> -S smtp-auth-password="abc123" \
> -S ssl-verify=ignore \
> [email protected]
решение2
Эта строка журнала не от чего-либо, прослушивающего порт TCP 25. Похоже, что root crontab
отправляет почту напрямую через sendmail. Или это какой-то нестандартный фоновый процесс, принадлежащий root.