· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400
Первые три символа возвращенной сервером строки представляют собой код завершения операции. Полный перечень кодов всевозможных ошибок содержится в RFC-821, и здесь не приводится.
Для передачи корреспонденции одного лишь TCP-соединения не достаточно, и необходимо установить еще одно, так называемое SMTP-соединение. Это достигается возвращением ответного приветствия серверу [193] с указанием имени узла клиента (если у него есть имя) или IP-адреса (если у клиента нет имени).
Далеко не всегда требуется указывать свой точный адрес. Часто достаточно ввести произвольную текстовую строку, например “ABDCEF”
· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400· HELO ppp-15.krintel.ru· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]Ответное приветствие осуществляется командой “HELO
[194]”. Сервер, установив SMTP-соединение, возвращает код успешного завершения операции (250) и в большинстве случаев определяет IP-адрес клиента или его доменное имя.Следующим шагом требуется указать отправителя сообщения. Для этого необходимо воспользоваться командой «MAIL FROM» с указанием собственного почтового адреса при желании заключенного в угловые скобки.Например:· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400· HELO ppp-15.krintel.ru· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]· MAIL FROM:«kpnc@aport.ru»· 250 «kpnc@aport.ru» is syntactically correctЗатем указывается получатель сообщения, передаваемый с помощью команды “RCPT TO”, пример использования которой продемонстрирован ниже:· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400· HELO ppp-15.krintel.ru· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]· MAIL FROM:«kpnc@aport.ru»· 250 «kpnc@aport.ru» is syntactically correct· RCPT TO:«kpnc@aport.ru»· 250 «kpnc@aport.ru» verifiedПри возникновении потребности в отправке одного и того же сообщения нескольким респондентам, достаточно вызвать “RCPT TO” еще один (или более) раз (максимальное количество получателей обычно не ограничено). Если кому-то из них сервер не возьмется доставить сообщение, он вернет ошибку, никак, однако не сказывающуюся на остальных получателях.
Команда “DATA”, вызываемая без аргументов, переводит сервер в ожидание получения текста письма.
· DATA· 354 Enter message, ending with "." on a line by itselfПоследовательность завершения ввода представляет собой обыкновенную точку, «окаймленную» с двух сторон переносами строк. Если такая последовательность встретится в тексте сообщения, формирование письма будет немедленно завершено. Почтовые клиенты, обычно распознают такую ситуацию и прибегают к перекодировке, но при работе с telnet-клиентом эта забота ложиться на пользователя.
Пример использования команды “DATA” приведен ниже:
· 220 camel.mail.ru ESMTP Exim 3.02 #107 Sun, 26 Mar 2000 17:36:24 +0400· HELO ppp-15.krintel.ru· 250 camel.mail.ru Hello ppp-15.krintel.ru [195.161.41.239]· MAIL FROM:«kpnc@aport.ru»· 250 «kpnc@aport.ru» is syntactically correct· RCPT TO:«kpnc@aport.ru»· 250 «kpnc@aport.ru» verified· Hello, Sailor!·.· 250 OK id=12ZDEd-000Eks-00Команда “QUIT” завершает сеанс и закрывает соединение.
· quit· 221 camel.mail.ru closing connection