<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ubuntu Linux &#187; pop3</title>
	<atom:link href="/tag/pop3/feed/" rel="self" type="application/rss+xml" />
	<link>http://UbuntuLinux.ru</link>
	<description>Сайт для пользователей Ubuntu Linux</description>
	<lastBuildDate>Sat, 25 Oct 2014 15:23:48 +0000</lastBuildDate>
	<language>ru-RU</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Команды протокола POP3 (приём почты)</title>
		<link>http://UbuntuLinux.ru/developers/protokoly/pop3-protocol-commands/</link>
		<comments>http://UbuntuLinux.ru/developers/protokoly/pop3-protocol-commands/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 16:27:02 +0000</pubDate>
		<dc:creator><![CDATA[Admin]]></dc:creator>
				<category><![CDATA[Протоколы]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[pop3]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=68</guid>
		<description><![CDATA[Команды протокола POP3 Команда Синтаксис Описание STAT Формат ответа: “+ОК nn mm”, где nn — количество сообщений, mm — их общий объем: С: STAT S: +ОК 2 320 В этом примере РОРЗ -сервер сообщает, что в данном почтовом ящике находятся &#8230; <a href="/developers/protokoly/pop3-protocol-commands/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span id="more-68"></span></p>
<table border="0" cellpadding="7" width="100%" rules="all">
<tbody>
<tr>
<td colspan="3">Команды протокола POP3</td>
</tr>
<tr>
<td width="20%" valign="top">Команда</td>
<td width="40%" valign="top">Синтаксис</td>
<td width="40%" valign="top">Описание</td>
</tr>
<tr>
<td width="20%" valign="top">STAT</td>
<td width="40%" valign="top">Формат ответа: “+ОК nn mm”, где nn — количество сообщений, mm — их общий объем:</p>
<p>С: STAT</p>
<p>S: +ОК 2 320</p>
<p>В этом примере РОРЗ -сервер сообщает, что в данном почтовом ящике находятся два сообщения общим объемом 320 байт.</td>
<td width="40%" valign="top">После того как клиент успешно прошел процедуру аутентификации в РОРЗ- сервере, и РОРЗ- сервер “закрыл” определенный почтовый ящик только для использования данным клиентом (для тех, кто работал с базами данных, это называется EXCLUSIVE ACCESS LOCK), РОРЗ- сессия переходит в режим TRANSACTION, и клиент может начать работу со своей почтой</p>
<p>Команда <strong>STAT</strong><strong> </strong>(без аргументов) используется для просмотра состояния текущего почтового ящика.</p>
<p>В ответ РОРЗ- сервер возвращает строку, содержащую количество и общий размер в байтах сообщений, которые клиент может получить с РОРЗ- сервера. Сообщения, помеченные на удаление, не учитываются</td>
</tr>
<tr>
<td width="20%" valign="top">LIST [msg]</td>
<td width="40%" valign="top">С: LIST</p>
<p>S: +ОК 2 messages (320 octets)</p>
<p>S: 1 120</p>
<p>S: 2 200</p>
<p>S: .</p>
<p><em>ИЛИ</em></p>
<p>С: LIST 2</p>
<p>S: +ОК 2 200</p>
<p><em>ИЛИ</em></p>
<p><em> </em>С: LIST 3</p>
<p>S: -ERR no such message, only 2 messages in maildrop</td>
<td width="40%" valign="top">Команда <strong>LIST</strong><strong> </strong>может передаваться как с аргументом msg — номером сообщения, так и без аргумента.</p>
<p>Если команда содержит аргумент, и сообщение с указанным номером существует, ответом на нее будет “информационная строка”, которая содержит номер сообщения и размер сообщения в байтах. Если аргумент не указан — ответом будет список информационных строк обо всех сообщениях в данном почтовом ящике. Сообщения, помеченные на удаление не фигурируют в этом списке</td>
</tr>
<tr>
<td width="20%" valign="top">RETR msg</td>
<td width="40%" valign="top">С: RETR 1</p>
<p>S: +ОК 120 octets</p>
<p>S: &lt;text message&gt;</p>
<p>S: .</td>
<td width="40%" valign="top">Используется для передачи клиенту запрашиваемого сообщения. Аргумент команды — номер сообщения. Если запрашиваемого сообщения нет, возвращается отрицательный индикатор “-ERR”.</td>
</tr>
<tr>
<td width="20%" valign="top">DELE msg</td>
<td width="40%" valign="top">С: DELE 1</p>
<p>S: +ОК message 1 deleted</p>
<p>ИЛИ</p>
<p>С: DELE 2</p>
<p>S: -ERR message 2 already deleted</td>
<td width="40%" valign="top">Аргумент команды— номер сообщения. Сообщения, помеченные на удаление, реально удаляются только после закрытия транзакции, на стадии UPDATE.</td>
</tr>
<tr>
<td width="20%" valign="top">NOOP</td>
<td width="40%" valign="top">С: NOOP</p>
<p>S: +ОК</td>
<td width="40%" valign="top">Для проверки состояния соединения с РОРЗ- сервером используется команда <strong>NOOP</strong><strong> </strong>. При активном соединении ответом на нее будет положительный индикатор “+ОК”:</td>
</tr>
<tr>
<td width="20%" valign="top"><strong>RSET</strong></p>
<p><strong> </strong></td>
<td width="40%" valign="top">С: RSET</p>
<p>S: +OK maildrop has 2 messages (320 octets)</td>
<td width="40%" valign="top">Для отката транзакции внутри сессии используется команда <strong>RSET</strong><strong> </strong>(без аргументов). Если пользователь случайно Пометил на удаление какие-либо сообщения, он может убрать эти пометки, отправив эту команду:</td>
</tr>
<tr>
<td width="20%" valign="top">TOP msg n</td>
<td width="40%" valign="top">С ТОР 1 10</p>
<p>S +OK</p>
<p>S &lt;header&gt;</p>
<p>S &lt;blank&gt;</p>
<p>S &lt;message body&gt;</p>
<p>S .</td>
<td width="40%" valign="top">По этой команде пользователь может получить “n” первых строк сообщения с номером “msg”. РОРЗ- сервер по запросу клиента отправляет заголовок сообщения, затем пустую строку, затем требуемое количество строк сообщения (если количество строк в сообщении меньше указанного в параметре “n”, пользователю передается все сообщение).</td>
</tr>
<tr>
<td width="20%" valign="top">USER name</td>
<td width="40%" valign="top">С: USER frated</p>
<p>S: -ERR sorry, no mailbox for frated here</p>
<p><em>ИЛИ</em></p>
<p>С: USER mrose</p>
<p>S: +OK mrose is a real hoopy frood</td>
<td width="40%" valign="top">Когда РОРЗ -сессия находится в состоянии аутентификации (AUTHORIZATION), и клиент должен зарегистрировать себя на РОРЗ -сервере. Это может быть выполнено либо с помощью команд USER и PASS — ввод открытых пользовательского идентификатора и пароля (именно этот способ используется чаще), либо командой АРОР — аутентификация цифровой подписью, на базе секретного ключа. Любой РОРЗ -сервер должен поддерживать хотя бы один из механизмов аутентификации.</p>
<p>Аргументом — “name” является строка, идентифицирующая почтовый ящик системы. Этот идентификатор должен быть уникальным в данной почтовой системе РОРЗ -сервера. Если ответом на эту команду является строка индикатора “+OK”, клиент может отправлять команду PASS — ввод пароля или QUIT — завершить сессию. Если ответом является строка “-ERR”, клиент может либо повторить команду USER, либо закрыть сессию</td>
</tr>
<tr>
<td width="20%" valign="top">PASS string</td>
<td width="40%" valign="top">С: USER mrose</p>
<p>S: +OK mrose is a real hoopy frood</p>
<p>С: PASS secret</p>
<p>S: -ERR maildrop already locked</p>
<p><em>ИЛИ</em></p>
<p>С: USER mrose</p>
<p>S: +OK mrose is a real hoopy frood</p>
<p>C: PASS secret</p>
<p>S: +OK mrose’s maildrop has 2 messages (320 octets)</td>
<td width="40%" valign="top">Аргументом команды является строка пароля данного почтового ящика. После получения команды PASS, РОРЗ -сервер, на основании аргументов команд USER и PASS, определяет возможность доступа к заданному почтовому ящику. Если РОРЗ -сервер ответил “+OK”, это означает, что аутентификация клиента прошла успешно и он может работать со своим почтовым ящиком, т. е. сессия переходит в состояние TRANSACTION. Если РОРЗ- сервер ответил “-ERR”, то либо был введен неверный пароль, либо не найден указанный почтовый ящик</td>
</tr>
<tr>
<td width="20%" valign="top">АРОР name digest</td>
<td width="40%" valign="top">S: +OK РОРЗ server ready 1896.697170952@dbc.mtview.ca.us</p>
<p>С: АРОР mrose c4c9334bac560ecc979e58001b3e22fb</p>
<p>S: +OK maildrop has 1 message (369 octets)</p>
<p>Алгоритм на основании открытого ключа “tanstaaf и временной метки</p>
<p><sup>&lt;</sup> 1896.697170952@dbc.rnt.view.ca.us&gt; построил шифрованную строку “c4c9334bac560ecc979e5800Ib3e22fb”.</td>
<td width="40%" valign="top">Команда аутентификации пользователя <strong>АРОР</strong> не входит в список обязательно реализуемых команд РОРЗ -сервера. Эта команда предоставляет значительно больший (по сравнению с командами USER или PASS) уровень защиты аутентификации пользователя при открытии сессии AUTHORIZATION и используется только тогда, когда к обеспечению конфиденциальности доступа к информации почтовых ящиков предъявляются повышенные требования. Эта команда может быть передана клиентом РОРЗ -сервера после получения приветственного сообщения или после ошибки обработки команд USER/PASS.</p>
<p>Аргументами команды являются: name — имя пользователя (то же, что и в команде USER), digest — шифрованная (по алгоритму MD5) строка пароля. Применяемый здесь алгоритм необратимого шифрования для построения секретного ключа использует открытый ключ и временную метку. Временные метки передаются хосту клиента вместе с сообщением приветствия. Например, для UNIX-машин временная метка может иметь вид: &lt;process-ID.clock@hostname&gt;, где process-ID — это идентификатор процесса, clock — состояние таймера на момент установления соединения, hostname — имя компьютера РОРЗ -сервера. Этот механизм позволяет достичь очень высокой степени защищенности. Далее показан пример работы команды АРОР</td>
</tr>
<tr>
<td width="20%" valign="top"><strong> </strong><strong>QUIT</strong><strong> </strong></td>
<td width="40%" valign="top">С: QUIT</p>
<p>S: +ОК dewey POP3 server signing off</td>
<td width="40%" valign="top">К командам состояния AUTHORIZATION может относиться команда закрытия РОРЗ- сессии — <strong>QUIT</strong><strong> </strong>, если она была отправлена в режиме AUTHORIZATION (например, при вводе неправильного пароля или идентификатора пользователя):</p>
<p>Эта команда отправляется без аргументов и всегда имеет единственный ответ “+ОК”.</td>
</tr>
<tr>
<td colspan="3">Пример сценария работы с POP-сервером</td>
</tr>
<tr>
<td colspan="3" valign="top"><em>Ниже приведена стандартная сессия работы с РОРЗ -протоколом.</em><br />
S: &lt;wait for connection on TCP port 110&gt;</p>
<p>C: &lt;open connection&gt;</p>
<p>S: +OK РОРЗ server ready</p>
<p>С: USER<strong> </strong>mrose</p>
<p>S: +OK mrose is a real hoopy frood</p>
<p>С: PASS secret</p>
<p>S: +OK mrose’s maildrop has 2 messages (320 octets)</p>
<p>С: STAT</p>
<p>S: +OK 2 320</p>
<p>С: LIST</p>
<p>S: +OK 2 messages (320 octets)</p>
<p>S: 1 120</p>
<p>S: 2 200</p>
<p>S: .</p>
<p>С: RETR 1</p>
<p>S: +OK 120 octets</p>
<p>S: &lt;the РОРЗ server sends message 1&gt;</p>
<p>S: .</p>
<p>С: DELE 1</p>
<p>S: +OK message 1 deleted</p>
<p>С: RETR 2</p>
<p>S: +OK 200 octets</p>
<p>S: &lt;the РОРЗ server sends message 2&gt;</p>
<p>S: .</p>
<p>С: DELE 2</p>
<p>S: +OK message 2 deleted</p>
<p>С: QUIT</p>
<p>S: +OK dewey РОРЗ server signing off (maildrop empty)</p>
<p>С: &lt;close connection&gt;</p>
<p>S: &lt;wait for next connection&gt;</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://UbuntuLinux.ru/developers/protokoly/pop3-protocol-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
