Назад | Перейти на главную страницу

Я остановил службу sendmail и запустил postfix. Sendmail все еще отображается в журналах электронной почты?

На этом сервере установлены и sendmail, и postfix. Sendmail был запущен, но не работает должным образом. Я остановил службу sendmail и запустил 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 root@server.domain.com

Он не поступает в почтовый ящик root. Поэтому я смотрю логи в / var / log / maillog и вижу, что sendmail все еще используется:

Feb 26 16:18:13 server sendmail[1582]: w1QLIC8N001582: to=root@server.domain, 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@root@server.domain> Queued mail for delivery)

Как это возможно?

В mail программа работает sendmail для доставки почты (в клиентском режиме в процессе не открыт порт прослушивания). Прочтите страница руководства для получения подробной информации. Вы можете изменить MDA, установив sendmail переменная:

Отправить почту

Чтобы использовать альтернативную систему доставки почты, установите для этого параметра полный путь к программе, которую нужно использовать. Это следует использовать с осторожностью.

$ sendmail=/usr/bin/someothersendmail mail somebody@somewhere.com
Subject: asdf
... and so on

Но поскольку почта ожидает, что MDA распознает параметры sendmail, я не вижу в этом пользы.

Другая возможность - использовать внешний SMTP-сервер вместо того sendmail.

$ echo "This is the message body and contains the message" | mailx -v \
> -r "someone@example.com" \
> -s "This is the subject" \
> -S smtp="mail.example.com:587" \
> -S smtp-use-starttls \
> -S smtp-auth=login \
> -S smtp-auth-user="someone@example.com" \
> -S smtp-auth-password="abc123" \
> -S ssl-verify=ignore \
> yourfriend@gmail.com

Эта строка журнала не относится к чему-либо, прослушивающему TCP-порт 25. Она выглядит как root-файл. crontab отправляет почту напрямую через sendmail. Или это какой-то нестандартный фоновый процесс, принадлежащий root.