Тестирование SMTP-соединения с использованием ручного сеанса Telnet

Опубликовано: 2022-04-04

Поставщики серверов, такие как DigitalOcean, AWS, Vultr и другие, блокируют исходящий порт 25 вашей электронной почты, чтобы спам не проходил. Однако вы всегда можете попросить их разблокировать его. Если вы хотите узнать, заблокирован ли ваш порт 25, вы можете использовать ручной сеанс telnet для проверки SMTP-соединения.

Ошибки подключения SMTP можно устранить различными способами, но командная строка может обнаружить их напрямую. Telnet обычно используется для проверки ошибок соединения SMTP. В следующих шагах мы будем использовать Telnet для тестирования почтового сервера. Критической частью настройки почтового сервера является обеспечение работы SMTP из командной строки (Linux).

Telnet — наиболее часто используемый способ проверки SMTP из командной строки. Это также наиболее распространенный способ проверки SMTP Relay.

Оглавление

Что такое SMTP?

SMTP — это текстовый протокол, ориентированный на соединение, в котором отправитель почты соединяется с получателем почты, отправляя строки команд и предоставляя необходимые данные по надежному упорядоченному каналу потока данных, часто по протоколу управления передачей (TCP).

Сеанс SMTP состоит из команд от SMTP-клиента (инициирующего агента, отправителя или отправителя) и ответов от SMTP-сервера (слушающего агента или получателя), которые инициируют сеанс и обмениваются параметрами сеанса. В сеансе может быть ноль или более транзакций SMTP. Три последовательности команд/ответов составляют транзакцию SMTP:

  1. Команда MAIL, также известная как обратный путь, обратный путь, адрес возврата, mfrom или отправитель конверта, для установки обратного адреса.
  2. Чтобы установить получателя сообщения, используйте команду RCPT. Эту команду можно повторять столько раз, сколько необходимо, по одному для каждого получателя. На конверте тоже есть эти адреса.
  3. DATA для указания начала текста сообщения; содержание сообщения, а не его конверт. Он состоит из пустой строки между заголовком сообщения и телом сообщения. Сервер отвечает дважды: сначала на саму инструкцию DATA, подтверждая, что он готов принять текст, и снова после последовательности конца данных, принимая или отклоняя полное сообщение.

Что такое сеанс Telnet?

Telnet — это сетевой протокол для удаленного доступа к компьютеру и установления двустороннего, совместного, текстового канала связи между двумя компьютерами.

Он создает удаленные сеансы с использованием сетевого протокола протокола управления передачей/протокола Интернета (TCP/IP), которым управляет пользователь. Протокол передачи гипертекста (HTTP) и протокол передачи файлов (FTP) в Интернете просто позволяют пользователям запрашивать определенные файлы с удаленных компьютеров, тогда как Telnet позволяет пользователям входить в систему как обычный пользователь с привилегиями, назначенными для определенных приложений и данных на этом компьютере. компьютер.

Telnet чаще всего используется программистами и всеми, кому нужен доступ к определенным приложениям или данным на удаленном компьютере.

Как работает Telnet?

Telnet — это клиент-серверный протокол для открытия командной строки на удаленном компьютере, обычно на сервере. Эту утилиту можно использовать для проверки связи с портом и определения того, открыт ли он. Telnet использует эмулятор подключения виртуального терминала, который представляет собой абстрактный экземпляр подключения к компьютеру, использующий стандартные протоколы, чтобы действовать как физический терминал, подключенный к системе. Для пользователей, которым необходимо обмениваться файлами данных, FTP и Telnet могут использоваться вместе.

Telnet позволяет пользователям подключаться к машине удаленно, что часто называют Telnetting в системе. Они должны предоставить свою комбинацию учетных данных пользователя, чтобы получить доступ к удаленному компьютеру, что позволяет им запускать командные строки, как если бы они физически присутствовали на компьютере. IP-адреса пользователей будут соответствовать компьютеру, на котором они вошли, а не тому, который они использовали для входа, независимо от их физического местоположения.

Каково использование Telnet?

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

Некоторые серверы позволяют удаленно подключаться через Telnet к общедоступным данным, чтобы играть в простые игры или узнавать прогноз погоды. Многие из этих функций существуют, потому что они вызывают ностальгию или потому, что они все еще совместимы с более ранними системами, которым требуются определенные данные.

Telnet также позволяет пользователям подключаться к любому программному обеспечению, использующему текстовые незашифрованные протоколы, например к веб-серверам и портам. Пользователи могут открыть cmd на удаленной машине и ввести telnet, а затем имя или IP-адрес удаленной машины, и сеанс telnet проверит связь с портом, чтобы узнать, открыт он или нет. Пустой экран указывает на то, что порт открыт, но сообщение об ошибке, указывающее, что порт подключен, указывает на то, что он закрыт.

Безопасность в Telnet

Telnet — незащищенный незашифрованный протокол. Любой может просмотреть имя пользователя, пароль и другую конфиденциальную информацию, введенную открытым текстом во время сеанса Telnet, отслеживая соединение пользователя. Эта информация может быть использована для получения доступа к целевому компьютеру.

Проверить SMTP-соединение с помощью Telnet

Сначала мы проведем несколько тестов, чтобы увидеть, открыт ли ваш исходящий порт 25 или нет, в первом случае мы продемонстрируем заблокированный SMTP-порт 25, во втором случае мы пройдем через отправку электронной почты с помощью telnet.

Случай 1: порт 25 заблокирован

В командной строке выполните следующую команду (вам нужно запустить эту команду на сервере, на котором у вас проблемы с электронной почтой):

 телнет <IP_ADDRESS_OF_REMOTE_MAIL_SERVER> 25

Если вы получаете сообщение типа "ПЫТАЕТСЯ..." и ничего больше, это означает, что ваш исходящий порт 25 заблокирован, и вы не сможете отправлять сообщения электронной почты со своего сервера.

Случай 2: Когда порт 25 открыт:

Нам нужно найти почтовый сервер для входа, если у вас нет IP-адреса почтового сервера. Для этого нам понадобится запись DNS MX для данного домена. Это можно узнать с помощью следующей команды

 nslookup -type=mx ДОМЕН_ИМЯ

SMTP использует один из трех портов: 25, 465 или 587, которые часто используются Microsoft Outlook. Если ваш SMTP-ретранслятор использует порт, отличный от 25, вы будете использовать порт, указанный в ответе nslookup от почтового сервера обмена. Вы можете либо обратиться к своему администратору, либо зайти на сервер обмена почтой и просмотреть протоколы, чтобы узнать, какой порт использует ваш SMTP.

Чтобы войти на SMTP-сервер:

 telnet <IP_ADDRESS_OF_MAIL_SERVER> <ПОРТ>

Если вы подключены, вы можете продолжить отправку писем

Команда EHLO или HELO — это первая команда, которую нам нужно отправить на почтовый сервер для нашего тестера электронной почты SMTP. Это простое приветствие, с которого начинается диалог клиента telnet с SMTP-сервером.

 ЭХЛО <ДОМЕН_ИМЯ>
проверить smtp-соединение

Здесь отображаются SMTP-команды, принимаемые SMTP-сервером.

Команда MAIL FROM — это следующая команда, которую нам действительно нужно выполнить. Адрес, на который отправляются отказы, определяется этим.

 ПОЧТА ОТ: <[email protected]>

Теперь мы можем отправить команду RCPT TO после выполнения команды MAIL FROM. Эта команда указывает почтовому серверу SMTP отправить сообщение указанному получателю.

 RCPT TO: <[email protected]> 

Команда DATA — это последняя команда, которую нужно запустить перед началом тела сообщения. Эта команда информирует почтовый сервер SMTP о том, что остальная часть сообщения будет передана как тело сообщения.

 ДАННЫЕ 

Введите тему: <SUBJECT> и нажмите клавишу Return.

Введите < Тестовое сообщение > и нажмите клавишу «Ввод».

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

.

Появится сообщение OK, а затем идентификационный код. Ваше сообщение доставлено.

Вернитесь в окно Telnet, введите quit, чтобы разорвать соединение с сервером SMTP, а затем quit, чтобы разорвать сеанс Telnet.

 ПОКИДАТЬ 

Вывод

Если вы выполните тест, вы можете быть уверены, что с вашим почтовым сервером или адресом и информацией, которые вы использовали для доступа к нему, все в порядке.

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

Надеемся, что тестирование вашего SMTP-сервера через Telnet вдали от вашего нового почтового клиента поможет вам сузить все возможные причины любых проблем с электронной почтой, которые у вас возникают.