Как протестировать почтовый сервер (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-сервером вы будете получать различные коды ответа. Вот некоторые распространенные коды ответов:
- 220: Сервер готов.
- 250: Запрошенное почтовое действие выполнено.
- 354: Начните вводить букву; закончиться на .
- 421: Служба недоступна, канал закрыт.
- 450: Запрошенное почтовое действие не выполнено: почтовый ящик недоступен.
- 550: Запрошенное действие не выполнено: почтовый ящик недоступен.
Тестирование SMTP-сервера с помощью Telnet — ценный навык для любого администратора Linux. Он позволяет вручную отправлять команды и наблюдать за ответом сервера, что упрощает диагностику таких проблем, как проблемы с подключением, неправильная конфигурация SMTP или проблемы с отправкой и получением электронной почты. Хотя Telnet полезен для тестирования, помните, что он передает данные в виде обычного текста, поэтому его следует использовать только в безопасной, контролируемой среде. При производственном использовании всегда проверяйте, что ваши SMTP-соединения зашифрованы с использованием STARTTLS или других безопасных протоколов.
Изабелла Хамфри
Обновление от 12 января 2025 г.