在 imap 会话中获取八位字节值

get octet value in imap session

在 imap 的 telnet 会话中,如何计算要在搜索命令中传递的八位字节的值。例如:

telnet 0 <port for imap>
. login <user> <paswd>
.  select <folder>
. search charset utf-8 body {<octet value>}    

INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1

4.数据格式

IMAP4rev1 使用文本命令和响应。 IMAP4rev1 中的数据可以是以下几种形式之一:原子、数字、字符串、带括号的列表或 NIL。

4.3。字符串

字符串有两种形式之一:文字或带引号的字符串。文字是零个或多个八位位组(包括 CR 和 LF)的序列,以左大括号(“{”)形式的八位位组计数前缀引用,八位位组的数量,右大括号(“}”),和 CRLF。

简而言之,{}中的数字是从客户端发送到服务器的字节数(八位字节)或数据大小。

例如:假设有一封邮件需要通过IMAPAPPEND命令存储在已发件夹中。

A003 附加 "Sent" (\Seen) "24-Oct-2016 14:16:00 +0530" {311}

Date: Mon, 24 Oct 2016 14:16:00 +0530 (IST)
From: Fred Foobar <foobar@Blurdybloop.COM>
Subject: afternoon meeting
To: mooch@owatagu.siam.edu
Message-Id: <B27397-0100000@Blurdybloop.COM>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII

Hello Jo2, do you think we can meet at 3:30 tomorrow?

因此,{311}是邮件的大小。