Subject: It's OK to talk to yourself!
Date: 08/26/95 1:29:59 PM
Hi there.
See you soon.
Элемент
Для пересылки сообщения отправитель открывает соединение с портом 25 получателя. Тогда получатель начинает диалог и объявляет имя своего домена.
Модель команда/ответ, которую мы видели в протоколе File Transfer Protocol (FTP), применяется и в данном случае; при этом выполняется сходное декодирование сообщения ответа. Следовательно, все сообщения от удаленного сервера электронной почты начинаются с номера ответа. Отметим, что почтовые идентификаторы выведены в угловых скобках (например,
220 tigger.jvnc.net 5.65с/IDA-1.4.4
Идентификатор получателя и время
его объявления.
Sendmail is ready at Sun. 27 Aug 1995
08:02:55 -0400
HELO MATH-GW.CS.YALE.EDU
Идентификатор отправителя.
250 Hello MATH-GW.CS.YALE.EDU, pleased
to meet you
MAIL FROM: <sfeit@pascal.math.yale.edu>
Источник полученного почтового
сообщения.
250 <sfeit@pascal.math.yale.edu>.. Sender ok
RCPT TO; <feit@tigger.jvnc.net>
Получатель идентифицирован.
Может присутствовать несколько операторов RCPT ТО.
250 <feit@tigger.jvnc.net>.. Receiver ok
DATA
Начало сообщения.
354 Enter mail, end with '.' on a line
by itself
Received: by PASCAL.MATH.YALE.EDU;
Первым появляется заголовок.
Sun, 27 Aug 1995 08:01:44 -0400
Date: Sun, 27 Aug 1995 08:01:44 -0400
From: Sidnie Feit <feit-sidnie@math.yale.edu>
Message-Id: <199508271201.AA02330@PASCAL.MATH.YALE.EDU>
To: feit@tigger.jvnc.net
Subject: It's OK to talk to yourself!
Date: 08/26/95 1:29:59 PM
За заголовком следует пустая строка.
Hi there.
Это тело сообщения.
See you soon.
.
Сообщение заканчивается .<CR><LF>
250 Ok
Quit
До выхода из программы можно
отправить другие сообщения.
220 tigger.jvnc.net closing connection
Connection closed by foreign host.
Обратите внимание, что конец сообщения отмечается строкой, содержащей только символ точки.
Предположим, что пользователю нужно послать такую строку внутри сообщения. Дополнительный символ точки будет вставлен отправителем SMTP и удален получателем SMTP.
16.7 Временная метка и идентификатор сообщения
При получении почты интересно узнать время ее отправления и получения. SMTP добавляет эту информацию к пересылаемому сообщению. Кроме того, этот протокол отслеживает все хосты, которые передавали почтовое сообщение, и время получения сообщения каждым из них.
Когда сообщение приходит к агенту пересылки SMTP, он вставляет в начало сообщения временную метку (timestamp). При каждой последующей пересылке вставляется дополнительная временная метка, содержащая:
■ Идентификатор хоста, пославшего сообщение
■ Идентификатор хоста, получившего сообщение
■ Дату и время получения сообщения
Временные метки из заголовка сообщения обеспечивают неоценимую информацию для отладки, особенно когда возникают проблемы с пересылкой почты. Например, можно будет узнать, что сообщение оставалось на одном из промежуточных хостов в течение одного-двух дней.
Формат временной метки может различаться на различных системах, и разработчики могут включать в него дополнительные сведения. Новые реализации используют в метке значение местного времени, сопровождаемое смещением от
Часы компьютера иногда установлены неточно, поэтому последовательности временных меток сообщения не всегда согласуются со здравым смыслом. Например, иногда кажется, что сообщение было получено раньше, чем было отправлено. Так как администраторы сети — единственные сотрудники, имеющие дело с установкой компьютерных часов, ошибки могут возникнуть из-за невнимательности.
Когда почта достигает точки назначения, пользовательский агент может самостоятельно добавить строку, указывающую на исходного отправителя.
Приведенный ниже пример поясняет причину добавления таких строк к сообщению. Верхняя строка была вставлена пользовательским агентом получателя. Она содержит сведения об источнике сообщения и о времени его поступления в почтовый ящик.
Идентификатор сообщения (Message-Id) в нижней части примера был добавлен первым почтовым агентом пересылки, который начал обрабатывать это сообщение.
Временные метки нужно анализировать снизу вверх, что позволит понять путь следования сообщения от
From vsankar@ForeTell.CA Thu Aug 17 14:36:19 1995
Received: from BULLDOG.CS.YALE.EDU by PASCAL.MATH.YALE.EDU via SMTP;
Thu, 17 Aug 1995 14:36:19 -0400
Received: from access.mbnet.mb.ca by bulldog.CS.YALE.EDU via SMTP;
Thu, 17 Aug 1995 14:31:47 -0400
Received: from ftl6 (dial131.mbnet.mb.ca) by access.mbnet.mb.ca with SMTP id
AA02060
(5.67b/IDA-1.4.4); Thu, 17 Aug 1995 14:31:33 -0500