Язык, на котором общаются серверы SMTP, — это простой протокол обмена строчными сообщениями, предназначенными для восприятия человеком. Далее приведено, какие команды нужно выдать для отправки вручную законченного сообщения электронной почты с использованием Telnet в качестве клиентской программы.
После подключения клиента к порту SMTP сервер присылает сообщение с кодом “220”, содержащее вступительное сообщение и приветствие. Клиент выдает команду HELO с указанием имени хоста клиентского компьютера, а сервер отвечает сообщением “250”, которое, по сути, означает “ОК” — “Все хорошо”.
Теперь соединение с сервером установлено и можно отправить почту. Отправка электронной почты является стольже проста, как и массовая рассылка смс . Клиент выдает команду MAIL с параметром From: <<здрес отправителя> для указаний отправителя почты. Если отправитель указан правильно, сервер возвращает еще один ответ “250”. Затем клиент выдает команду RCPT (сокращение от “recipient”) с параметром То: <адрес получателя> для указания получателя почты. Сервер снова подтверждает команду. Некоторые серверы SMTP имеют ограничения, касающиеся того, каких отправителей и получателей они обслуживают; например, они могут отказаться пересылать электронную почту в удаленные домены. В этоv случае они возвращают различные коды ошибок, которые могут находиться в диапазоне от 500 до 599. Можно выдать несколько команд RCPT для отправки электронной почты, которая имеет несколько получателей на узле (узлах), обслуживаемом сервером SMTP.
Убедившись в том, что сервер принял адреса отправителя и получателя (получателей), клиент отправляет команду DATA. В ответ сервер посылает запрос ввести сообщение электронной почты. Сервер принимает строки ввода до тех пор, пока не встретит строку, содержащую только одну точку.