Как протестировать почтовый сервер (SMTP) с помощью команды Telnet

Как администратор Linux вам может потребоваться устранить неполадки или протестировать SMTP-сервер, чтобы убедиться в его правильной работе.

Как администратору Linux вам может потребоваться устранить неполадки или протестировать сервер SMTP, чтобы убедиться, что он работает правильно. Один из наиболее эффективных способов сделать это — использовать команду telnet.

Telnet позволяет вручную подключаться к SMTP-серверу, отправлять команды и просматривать ответы сервера в реальном времени, помогая диагностировать проблемы или проверять конфигурации. Это руководство проведет вас через процесс тестирования SMTP-сервера с помощью команды telnet.

Шаг 1. Откройте сеанс Telnet.

Чтобы начать тестирование SMTP-сервера, откройте терминал в вашей системе Linux и начните сеанс Telnet с SMTP-сервером.

телнет smtp.example.com 25

Заменять smtp.example.com с доменом или IP-адресом SMTP-сервера и 25 с соответствующим номером порта, если он отличается.

Шаг 2. Понимание приветствия SMTP-сервера

После подключения SMTP-сервер ответит приветственным сообщением, обычно отображающим имя хоста сервера и указывающим, что сервер готов принимать команды. Это сообщение будет выглядеть примерно так:

220 smtp.example.com Постфикс ESMTP

Если вы получили это сообщение, это означает, что соединение установлено успешно и SMTP-сервер готов принимать команды.

Шаг 3. Начните разговор по SMTP

Команда EHLO: Начните разговор, идентифицировав себя на SMTP-сервере. Используйте команду EHLO, за которой следует домен или любой заполнитель, например localhost.

ЭХЛО локальный хост

Сервер ответит списком поддерживаемых расширений и функций:

250-smtp.example.com Привет, localhost (127.0.0.1) 250-SIZE 10485760 250-ПИПЕЛИНИНГ 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 SMTPUTF8

Команда HELO: Альтернативно вы можете использовать старую команду HELO вместо EHLO. Однако рекомендуется использовать EHLO, поскольку он указывает на поддержку расширенных функций.

HELO локальный хост

Ответ обычно проще:

250 smtp.example.com Привет, localhost (127.0.0.1)

Шаг 4: Укажите отправителя

Далее укажите адрес электронной почты отправителя с помощью команды MAIL FROM:

ПОЧТА ОТ:

Сервер подтвердит команду:

250 2.1.0 Ок

Шаг 5. Укажите получателей

Теперь укажите адрес электронной почты получателя с помощью команды RCPT TO:

РКПТ КОМУ:

Если получатель принят, вы увидите:

250 2.1.5 Ок

Если получатель недействителен или не принят сервером, вы можете увидеть следующую ошибку:

550 5.1.1: Адрес получателя отклонен: Пользователь неизвестен в локальной таблице получателей

Шаг 6: Отправьте данные сообщения

Чтобы отправить данные электронной почты, используйте команду DATA:

ДАННЫЕ

Сервер ответит сообщением о том, что он готов принимать данные:

354 Завершить данные с помощью .

Теперь вы можете ввести тело вашего электронного письма. Начните с темы:

Тема: Тестовое электронное письмо от: sender@example.com Кому: получатель@example.com Это тестовое электронное письмо, отправленное с помощью Telnet.

После написания электронного письма завершите ввод данных, введя точку (.) в новой строке и нажав Enter:

.

Сервер ответит:

250 2.0.0 Хорошо: поставлено в очередь как ABC123DEF456

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

Шаг 7. Завершите сеанс.

Чтобы завершить сеанс SMTP, используйте команду QUIT:

ПОКИДАТЬ

Сервер закроет соединение:

221 2.0.0 Пока

Шаг 8. Объяснение распространенных ответов SMTP

Во время взаимодействия с SMTP-сервером вы будете получать различные коды ответа. Вот некоторые распространенные коды ответов:

  1. 220: Сервер готов.
  2. 250: Запрошенное почтовое действие выполнено.
  3. 354: Начните вводить букву; закончиться на .
  4. 421: Служба недоступна, канал закрыт.
  5. 450: Запрошенное почтовое действие не выполнено: почтовый ящик недоступен.
  6. 550: Запрошенное действие не выполнено: почтовый ящик недоступен.

Тестирование SMTP-сервера с помощью Telnet — ценный навык для любого администратора Linux. Он позволяет вручную отправлять команды и наблюдать за ответом сервера, что упрощает диагностику таких проблем, как проблемы с подключением, неправильная конфигурация SMTP или проблемы с отправкой и получением электронной почты. Хотя Telnet полезен для тестирования, помните, что он передает данные в виде обычного текста, поэтому его следует использовать только в безопасной, контролируемой среде. При производственном использовании всегда проверяйте, что ваши SMTP-соединения зашифрованы с использованием STARTTLS или других безопасных протоколов.

Изабелла ХамфриИзабелла Хамфри

Обновление от 12 января 2025 г.

Похожие записи