220 ka mail telnet что это значит
Перейти к содержимому

220 ka mail telnet что это значит

  • автор:

Записки IT специалиста

smtp-telnet-test-000.pngОчень часто перед администратором встает необходимость проверить работу почтового сервера по протоколу SMTP, как своего, так и чужого. Обычно это связано с проблемами отправки или получения почты и следует не только убедиться в доступности сервера, но и понять, что происходит с письмом дальше. Несмотря на то, что существуют различные сервисы для диагностики почтовых систем, лучше всего проверить работу сервера подключившись к нему через Telnet и отправив письмо при помощи SMTP-команд, получив необходимую информацию, что называется «из первых рук».

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

Поставим себе некую задачу. Допустим мы хотим проверить доставку почты c некого ящика example@interface31.ru на ящик test@host31.ru, а также проверить работу сервера в некоторых иных ситуациях.

Прежде всего сразу следует выяснить какой узел в указанном домене отвечает за прием почты, это следует сделать даже если вы знаете точный адрес этого сервера, так как позволит выявить возможные ошибки при настройке DNS. Для этого мы будем использовать утилиту nslookup, в Windows она входит в штатный комплект поставки, а в Linux вам возможно потребуется установить пакет dnsutils.

Для получения записей MX-хостов узла (т.е. серверов, принимающих почту) выполним:

В качестве ответа вы должны получить имя одного или нескольких серверов.

smtp-telnet-test-001.png

В нашем случае почта обслуживается серверами Яндекса, а именно mx.yandex.net, с которым мы и будем работать. Для дальнейших действий нам потребуется telnet-клиент, в Linux он есть из коробки, в Windows его следует установить в дополнительных компонентах или использовать любой сторонний клиент, поддерживающий этот протокол, например, PuTTY. В нашем примере будет использоваться telnet-клиент в Debian 10.

Прежде всего запустим самого клиента:

в ответ мы увидим строку приглашения, куда введем строку соединения с сервером, обычно используется порт 25, но могут также быть 465 или 587:

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

smtp-telnet-test-002.png

Обратите внимание, что оно отличается от адреса, к которому мы подключались. Это связано с тем, что почту могут обслуживать несколько серверов и при обращении к домену mx.yandex.net каждый раз будет выдаваться разный адрес, для распределения нагрузки между серверами. В этом несложно убедиться, выполнив еще раз команду nslookup, без аргументов она сообщит нам А-записи, которые соответствуют адресам серверов.

smtp-telnet-test-003.png

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

После того как мы подключились к серверу нужно отправить приветствие, которое будет содержать полное доменное имя клиента (либо адрес, если клиент не имеет доменного имени):

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

smtp-telnet-test-004.png

Для начала почтовой сессии введите команду:

Она означает, что мы хотим передать сообщение от отправителя example@interface31.ru, на что сервер должен ответить нам кодом 250 2.1.0 ok.

Теперь укажем получателя:

Также мы можем попросить сервер отправить нам отчет о доставке или невозможности это сделать, для этого добавим в команду необязательные параметры:

Если все хорошо, то сервер должен ответить нам с кодом 250 2.1.5 recipient ok, после чего мы можем перейти к передаче письма.

smtp-telnet-test-005.png

Для этого введем команду:

В ответ мы получим сообщение с кодом 354, которое разрешит нам ввод письма, которое следует закончить точкой с новой строки.

В первую очередь следует указать тему:

Затем вводим пустую строку, по правилам тему письма следует отделять от тела пустой строкой, и далее пишем текст сообщения. Количество символов и строк не ограничено, главное — не превысить допустимый размер письма. Закончив, ставим точку в новой строке и нажимаем Enter.

После чего сервер выполнит попытку отправки нашего письма и сообщит нам результат.

smtp-telnet-test-006.png

В нашем случае письмо принято к доставке, о чем говорит код 250 2.0.0 Ok, также сервер сообщает нам присвоенный письму идентификатор. Его можно использовать при дальнейшем поиске сообщения в недрах самой почтовой системы. Обратите внимание, что этот код не говорит о том, что письмо успешно доставлено получателю, в дальнейшем оно может попасть под фильтры и оказаться в спаме, но это уже находится за рамками работы протокола SMTP, свою работу в данном случае он выполнил.

С какими ошибками доставки мы можем столкнуться? Одна из самых распространенных — неверный получатель. Попробуем указать в качестве получателя несуществующий ящик test@mail.ru, здесь мы также указали необслуживаемый данным сервером домен, что позволят дополнительно проверить сервер на открытый релей. В подавляющем большинстве случаев нормально работающий сервер не должен пересылать не предназначенную ему почту из публичных сетей.

В данном случае все закончилось быстро, сервер сообщил нам с кодом 550 5.7.1 No such user! , что такого пользователя не существует, а когда мы попытались упорствовать, сообщил с кодом 503 5.5.4 Bad sequence of commands о неверной последовательности команд.

smtp-telnet-test-007.png

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

Для проверки мы отправили сообщение с подделанным отправителем и сразу же получили ошибку 451 4.7.1 Sorry, the service is currently unavailable. Please come back later.

smtp-telnet-test-008.png

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

Для окончания сессии с сервером введите команду

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

Отправка почты через telnet по smtp

Запускаем консоль (командную строку) и вводим последовательность команд для отправки письма:

  • telnet адрес_сервера 25 — подключаемся к серверу
  • helo имя_хоста_с_которого_подключаетесь
  • mail from:user@domain.com — ваш почтовый ящик, с которого отправляется письмо
  • rcpt to:mail@domain2.com — ящик на который отправляется письмо
  • data
  • subject:тема письма — не обязательная команда, если ее пропустить, то письмо будет без темы
  • тут печатаем текст письма
  • текст письма может быть из множества строк
  • конец письма заканчивается одной точкой в отдельной строке
  • как в следующей строке:
  • .
  • quit — завершаем сеанс и выходит из telnet

Ниже копирую из консоли то, как я вводил команды и что получал в ответ (жирный шрифт — мои команды, курсив — ответы сервера):

Письмо отправлено, прошу заметить, без авторизации на почтовом сервере, то есть не вводили свой логин и пароль, этот сервер позволяет мне отправлять без авторизации.

Отправка письма через telnet с авторизацией:

А что если нужно авторизоваться? Сначала нам понадобится наш логин и пароль закодировать в base64-кодировку, это можно сделать например вот тут: base64.ru

ЗАПИСКИ АДМИНИСТРАТОРА FREEBSD

теперь мы можем узнать колличество и размер почтовых сообщений:

для вывода полного листинга почтовых сообщений надо использоваьт команду:

для того чтобы прочитать нужное сообщение вводим:

retr номер письма

просмотреть только заголовок сообщения:

top номер письма 0 (в конце строки поставить ноль)

удалить письмо из ящика:

dele номер сообщения

1) Если SMTP сервер требует SMTP-аутентификацию, то после того, как мы с

ним поздоровались (ehlo lo), вводим команду AUTH LOGIN, и после неё поочереди:

2) На почтовых серверах, где заведено несколько виртуальных почтовых доменах в

220 ka mail telnet что это значит

Порой при настройке какой либо службы необходимо проверить ее работоспособность. В этой шпаргалке собраны методы проверки работоспособности различных служб использующих в работе различные протоколы передачи данных (SMTP, POP3, IMAP, FTP) посредством telnet.

Для начала необходимо убедиться что в системе есть утилита telnet, если ее нет – установить пакет netkit-telnetd.

1. SMTP – простой протокол отправки почты. По этому протоколу оправляется и пересылается почта.

Таким образом мы соединяемся с сервером и отправляем письмо от lesovsky@uzps.mh.ru к maxim@daevy.lo

2. POP3 – Протокол получения почты, используется для доставки писем от сервера клиенту.

3. IMAP – протокол доступа и управления электронными сообщениями. расширенный протокол управления «почтой”.

4. FTP – протокол передачи файлов.

Во всех этих примерах показано нормальное адекватное поведение сервисов. Если проверяемая вами служба отвечает аналогично это хорошо, значитона запущена и может выполнять свои функции. При желании, полный список команд можно найти в официальных RFC по smtp ; pop3 ; imap v.4 rev.1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *