Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

3 года назад
Открыть в
​​Расскажу про простой и быстрый способ увидеть лог smtp сессии при обращении к какому-то почтовому серверу. Как вы уже знаете из прошлой заметки про curl, она умеет работать с различными протоколами. В том числе и с smtp. В общем случае самый эффективный способ поговорить с smtp сервером, это обратиться к нему на 25 порт телнетом. И надавать ему туда своих команд. Примеров в сети много. Но это долго и не всегда нужно. Можно воспользоваться curl: # curl smtp://mail.site.ru:25 -v \ --mail-from [email protected] \ --mail-rcpt [email protected] \ --user '[email protected]:password' \ --upload-file ~/email.txt Содержимое email.txt примерно такое: From: [email protected] To: [email protected] Subject: test email Date: Mon, 17 Apr 2023 00:17:16 Dear Sysadmin, Welcome to this test email. What a lovely day. В консоли будете наблюдать лог smtp сессии. Если что-то не так, увидите ошибку. Я вспомнил про curl, потому что один сервер мониторинга Zabbix никак не хотел отправлять почту через конкретный локальный почтовый сервер. Все другие клиенты с ним нормально работают, а Zabbix никак. При этом сам Zabbix сервер с другими почтовыми серверами тоже нормально работал. Мне захотелось разобраться в проблеме, поэтому погрузился в тематику. Выяснил, что Zabbix отправляет почту через curl. Со стороны почтового сервера было не очень понятно, в чём конкретно проблема, он просто ругался на неправильную аутентификацию. Немного поигрался в консоли с curl и понял, в чём проблема. Curl почему-то по умолчанию предлагает аутентификацию DIGEST-MD5 и она по какой-то причине происходит с ошибкой. По идее, клиент дальше должен пробовать другие методы, но конкретно в этой ситуации curl получал ошибку аутентификации и больше никаких попыток не делал. Дело было на сервере Centos 7, где curl очень старой версии. В сети нашёл информацию, что на нём реально могут быть проблемы с аутентификацией. Обновил утилиту до последней версии, но мне это не помогло. Дальше разбираться не стал. Слишком много времени ушло, а проблема не критичная. Обошёл её, сделав исключение для конкретного IP адреса. Вот эта же проблема, описанная на форуме Zabbix, а вот предложенное решение по обновлению curl на centos 7, которое мне не помогло. #linux #curl #zabbix