Протокол SMTP используется для надёжной и эффективной передачи электронной почты. Для нормальной работы SMTP-приложения требуется, чтобы почтовые сообщения были правильно отформатированы, а на клиенте и сервере должны быть загружены процессы SMTP.
В формате SMTP сообщение состоит из заголовка и тела сообщения. Если тело сообщения может содержать текст произвольной длины, то заголовок должен содержать адреса электронной почты получателя и отправителя в правильном формате. Все другие элементы заголовка являются необязательными.
Когда клиент отправляет сообщение электронной почты, процесс SMTP-клиента подключается к процессу SMTP-сервера на широко известном порте 25. Установив соединение, клиент пытается отправить по нему сообщение электронной почты серверу. Когда сервер получает сообщение, он помещает его в очередь сообщений локальной учётной записи или пересылает другому серверу, выполнив такой же процесс установки SMTP-соединения.
Целевой сервер электронной почты в момент доставки сообщения может оказаться недоступен или перегружен. На этот случай в SMTP предусмотрено временное хранение сообщений с последующей повторной отправкой. Периодически сервер проверяет очередь сообщений и пытается отправить их повторно. Если сообщение не удаётся доставить в течение установленного времени, оно возвращается отправителю с уведомлением о невозможности доставки.