Authenticated State(登陆状态命令)
LOGIN
命令介绍:LOGIN命令IMAP登录。
命令执行:
[root@localhost src]# telnet localhost 143
..........
A LOGIN TANG@188.TEST.NET 111111(用户名密码正确)
正常登录
a login tang@188.test.net 111222(命令名小写,用户名或者密码错误)
登录失败
a login tang@188.test.net 111222 (命令、用户名、密码之间存在多个空格)
正常登录
SELECT <folder>
命令介绍:
SELECT命令让Client选定某个邮件夹(Folder),表示即将对该邮件夹(Folder)内的邮件作操作。邮件夹标志的当前状态也返回给了用户,同时返回的还有一些关于邮件和邮件夹的附加信息。
命令执行:
[root@localhost src]# telnet localhost 143
..........
a select INBOX(没有邮箱用户login前执行)
提示失败,需先有邮箱login,才能select邮件夹
a login tang@188.test.net 111111
.....
a SELECT INBOX(命令名为大写,选择收件箱)
成功,执行 a search all或者fetch等命令可以正确显示对应收件箱中邮件的结果
a search all
* SEARCH 1
a OK Search completed (0.000 secs).
a create INBOX.a
a OK Create completed.
a create INBOX.a.B
a OK Create completed.
a create inbox
a OK Create completed
a SELECT inbox.a(系统邮件夹为小写,选择自定义邮件夹a)
成功,系统邮件夹为INBOX或小写的inbox
a SELECT INBOX.A(选择自定义邮件夹a,但输入的邮件夹名称为大写A)
失败,自定义邮件夹区分大小写,uisdb.maildir表中对应记录也区分大小写
a SELECT INBOX.a.B(选择二级自定义邮件夹a.B)
成功,执行 a search all或者fetch等命令可以正确显示对应收件箱中邮件的结果
EXAMINE <folder>
命令介绍:
EXAMINE命令以只读方式打开邮件夹,参数是需要打开的邮件夹的名字,使用EXAMINE命令打开的邮件夹不允许对邮件进行改动,因此不能增加或删除邮件的标志。
命令执行:
[root@localhost src]# telnet localhost 143
..........
a examine INBOX(没有邮箱用户login前执行)
提示失败,需先有邮箱login,才能examine邮件夹
a login tang@188.test.net 111111
.....
a EXAMINE INBOX(命令名为大写,只读方式打开收件箱)
成功,可对其中的邮件查找,阅读等,但不能改动(如修改邮件标记),改动时报错
a search all
* SEARCH 1
a OK Search completed (0.000 secs).
a store 1 +FLAGS (\Deleted)
a OK Store ignored with read-only mailbox.(提示只读方式打开的邮件夹,不能修改其中邮件)
a examine INBOX.a.B(命令名为小写,只读方式打开自定义邮件夹)
成功
a examine INBOX.a.b(只读方式打开小写实际为大写的自定义邮件夹)
* OK [CLOSED] Previous mailbox closed.
a NO Mailbox doesn't exist: INBOX.a.b
失败,提示不存在该邮件夹
a examine INBOX.a.B.c(只读方式打开不存在的自定义邮件夹)
a NO Mailbox doesn't exist: INBOX.a.B.c
失败,提示不存在该邮件夹
CREATE <folder>
命令介绍:
CREATE可以创建指定名字的新邮件夹。邮件夹名称通常是带路径的文件夹全名。(有些IMAP客户机使用邮件夹称呼新邮件夹)
命令执行:
[root@localhost src]# telnet localhost 143
..........
a create INBOX.c(没有邮箱用户login前执行)
提示失败,需先有邮箱login,才能create邮件夹
a login tang@188.test.net 111111
.....
a CREATE INBOX(命令名为大写,创建收件箱)
失败,INBOX为系统邮件夹,dovecot不允许创建,只能使用接口命令创建
a create inbox(命令名为小写,创建小写收件箱)
成功,inbox为系统邮件夹,dovecot不允许创建,只能使用接口命令创建
a create INBOX.c(命令名为小写,创建自定义邮件夹)
成功,uisdb.maildir表中增加对应自定义邮件夹记录INBOX.c
a create INBOX.c(创建已存在的自定义邮件夹)
失败
a createINBOX.c.1.2(二级自定义邮件夹INBOX.c.1不存在,创建三级自定义邮件夹INBOX.1.2)
失败
a createINBOX.c.1(创建二级自定义邮件夹INBOX.c.1)
成功,uisdb.maildir表中增加对应自定义邮件夹记录INBOX.c.1
A CREATE INBOX.c.1.2
A OK Create completed.
A CREATE INBOX.c.1.2.3
A OK Create completed.
a createINBOX.c.1.2.3.4(创建包括INBOX超过五级的自定义邮件夹INBOX.c.1.2.3.4)
A NO [CANNOT] Invalid mailbox name
失败,自定义邮件夹,包括INBOX这一级,不能超过五级
DELETE <folder>
命令介绍:
DELETE命令删除指定名字的邮件夹。邮件夹名字通常是带路径的邮件夹全名,当邮件夹被删除后,其中的邮件也不复存在。
命令执行:
[root@localhost src]# telnet localhost 143
..........
a delete INBOX.c(没有邮箱用户login前执行)
提示失败,需先有邮箱login,才能delete邮件夹
a login tang@188.test.net 111111
.....
a DELETE INBOX(命令名为大写,删除收件箱)
a NO INBOX can't be deleted.
失败,无法删除系统邮件夹INBOX
A CREATE INBOX.C
A OK Create completed.
A CREATE INBOX.C.1
A OK Create completed.
A CREATE INBOX.C.1.2
A OK Create completed.
a DELETE INBOX.C(命令名为大写,删除存在子邮件夹的父邮件夹)
a NO [CANNOT] Mailbox has children,can't delete
失败,无法删除存在子邮件夹的父邮件夹
a delete INBOX.C.1.2(命令名为小写,删除多级子邮件夹)
成功,uisdb.maildir表中删除对应自定义邮件夹记录INBOX.C.1.2的status值修改为1,delete_time为对应删除的时间
a DELETE INBOX.D(删除不存在的邮件夹)
a NO [NONEXISTENT] Mailbox doesn't exist
失败,无法删除存在子邮件夹的父邮件夹
a delete INBOX.C.1.2(删除已删除状态为1的邮件夹)
a NO [NONEXISTENT] Mailbox doesn't exist
失败,提示该邮件夹不存在