Imap命令使用

Imap命令使用

本文以命令行的方式

首先使用telnet建立连接

#telnet imap.126.com 143

Trying 220.181.15.127…
Connected to imap.126.com.
Escape character is ‘^]’.
OK Coremail System IMap Server Ready(126com[753e2252bd59b8c4a1c2eb6d5fe57cb3])

1. 登陆

#a01 xxx@126.com password

a01 OK LOGIN completed

2. 获取文件夹列表

#a02 list “” *

LIST () “/” “INBOX”
LIST (\Drafts) “/” “&g0l6P3ux-”
LIST (\Sent) “/” “&XfJT0ZAB-”
LIST (\Trash) “/” “&XfJSIJZk-”
LIST (\Junk) “/” “&V4NXPpCuTvY-”
LIST () “/” “&dcVr0pCuTvY-”
LIST () “/” “&Xn9USpCuTvY-”
LIST () “/” “&i6KWBZCuTvY-”
LIST () “/” “&YhF2hGWHaGM-”
LIST () “/” “java”
LIST () “/” “&bUuL1WWHTvZZOQ-”
LIST () “/” “&Y6hef5CuTvY-”
LIST () “/” “test”
LIST () “/” “folder”
a02 OK LIST Completed

3. 选择某个文件夹

#a03 select inbox

2918 EXISTS
458 RECENT
OK [UIDVALIDITY 1] UIDs valid
FLAGS (\Answered \Seen \Deleted \Draft \Flagged)
OK [PERMANENTFLAGS (\Answered \Seen \Deleted \Draft \Flagged)] Limited
a03 OK [READ-WRITE] SELECT completed

4. 拉取新邮件uid

#a04 fetch 2917:* (uid)

2917 FETCH (UID 1320728391)
2918 FETCH (UID 1320728392)
a04 OK Fetch completed

5. 第一次拉取邮件uid

#a05 fetch messageCount(2918)-20:messageCount (uid)

这里的messageCount为a03中的2918,这里拉取邮件数量-减去20到邮件数量之间的邮件uid

6. 邮件loadMore uid

#a06 fetch startPos:endPos (uid)

startPos为uid-20, endPos为uid

7. 获取邮件数据(meta)

在获取了邮件的uid之后,我们需要下载邮件数据的meta部分

#a07 uid fetch 1320728391,1320728392 (uid flags INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc reply-to Message-ID References Received mail)] BODYSTRUCTURE)

获取uid为1320728391和1320728392这两封邮件的meta信息,这是1320728392这封邮件返回的信息
*2918 FETCH (UID 1320728392 INTERNALDATE “25-Dec-2018 22:56:52 +0800” FLAGS () BODYSTRUCTURE (((“text” “plain” (“charset” “GBK”) NIL NIL “base64” 30 1 NIL NIL NIL)(“text” “html” (“charset” “GBK”) NIL NIL “base64” 896 12 NIL NIL NIL) “alternative” (“boundary” “----=_Part_175511_200539653.1545749811244”) NIL NIL)(“text” “plain” (“name” “IOFile.java”) NIL NIL “base64” 1946 25 NIL (“attachment” (“filename” “IOFile.java”)) NIL) “mixed” (“boundary” “----=_Part_175509_898170917.1545749811244”) NIL NIL) RFC822.SIZE 4396 BODY[HEADER.FIELDS (DATE SUBJECT FROM CONTENT-TYPE TO CC REPLY-TO MESSAGE-ID REFERENCES RECEIVED ALIMEI)] {421}
Content-Type: multipart/mixed;
boundary="----=_Part_175509_898170917.1545749811244"
Date: Tue, 25 Dec 2018 22:56:51 +0800 (CST)
From: =?GBK?B?wr3A2g==?= xxx@126.com
Message-ID: 749d9a9d.b7e7.167e5de502c.Coremail.xxx@126.com
Received: from xxx$126.com ( [115.198.96.3] ) by ajax-webmail-wmsvr38
(Coremail) ; Tue, 25 Dec 2018 22:56:51 +0800 (CST)
Subject: =?GBK?B?uL28/g==?=
To: zcm xxx@126.com

)
a07 OK Fetch completed
然后根据返回的数据进行解析

8. 获取邮件的头

#a08 fetch 2918 body[header]
  • 2918 FETCH (BODY[HEADER] {861}
    Received: from llzcm$126.com ( [115.198.96.3] ) by ajax-webmail-wmsvr38
    (Coremail) ; Tue, 25 Dec 2018 22:56:51 +0800 (CST)
    X-Originating-IP: [115.198.96.3]
    Date: Tue, 25 Dec 2018 22:56:51 +0800 (CST)
    From: =?GBK?B?wr3A2g==?= xxx@126.com
    To: zcm xxx@126.com
    Subject: =?GBK?B?uL28/g==?=
    X-Priority: 3
    X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build
    20180927(cd7136b6) Copyright © 2002-2018 www.mailtech.cn 126com
    X-CM-CTRLDATA: Bzf9eGZvb3Rlcl9odG09MTk4OjQwNw==
    Content-Type: multipart/mixed;
    boundary="----=_Part_175509_898170917.1545749811244"
    MIME-Version: 1.0
    Message-ID: 749d9a9d.b7e7.167e5de502c.Coremail.xxx@126.com
    X-Coremail-Locale: zh_CN
    X-CM-TRANSID:JsqowABH5A40RSJcq+WzAQ–.22508W
    X-CM-SenderInfo: 5oo2uza6rslhhfrp/1tbiZgkou1pD5KB3DwACsb
    X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU==

)
a08 OK Fetch completed

9. 获取邮件body,包含正文和附件数据

#a09 fetch 2918 body[text]

------=_Part_175509_898170917.1545749811244
Content-Type: multipart/alternative;
boundary="----=_Part_175511_200539653.1545749811244"

------=_Part_175511_200539653.1545749811244
Content-Type: text/plain; charset=GBK
Content-Transfer-Encoding: base64

CgoKCgoKLS0KCs7SysfCvcDaIQ==
------=_Part_175511_200539653.1545749811244
Content-Type: text/html; charset=GBK
Content-Transfer-Encoding: base64

PGRpdiBzdHlsZT0ibSDFSADSFASGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE0cHg7
Zm9udC1mYW1pbHk6QASDFDSAXJpYWwiPjxicj48YnI+PGJyPjxicj48YnI+PGRpdiBzdHlsZT0icG9zaXRp
b246cmVsYXRpdmU7em9vbToxIj4tLTxicj48ZGl2Ps7SysfCvcDaITwvZGl2PjxkaXYgc3R5bGU9
ImNsZWFyOmJvdGgASFDSAiPjwvZGl2PjwvZGl2PjwvZGl2Pjxicj48YnI+PHNwYW4gdGl0bGU9Im5ldGVh
c2Vmb290ZXIiPjxkaXYgaWQ9Im5ldGVhc2VfbWFpbF9mb290ZXIiPjxkaXYgc3R5bGU9ImJvcmRl
ci10b3A6I0NDQyAASDFDSAFxcHggc29saWQ7cGFkZGluZzoxMHB4IDVweDtmb250LXNpemU6MTZweDtjb2xv
cjojNzc3O2xpbmUtaGVpZ2h0OjIycHgiPjxhIGhyZWY9Imh0dHA6Ly95b3UuMTYzLmNvbS9pdGVt
L2RldGFpbD9pZD0xMTEzMDAxJmZyb209d2ViX2dnX21haWxfamlhb2JpYW9fOSIgdGFyZ2V0PSJf
YmxhbmsiIHN0eWxlPSJjb2xvcjojMzM2NkZGO3RleHQtZGVjb3JhdGlvbjpub25lIj6hvs340tfX
1NOqfDMwzOzO3tPHzcu79aG/1ebQ1Lzbscijus340tfUsbmk08PWvaGwzt7M7bzTuci359K7xL7I
7bPpw+a97da9obSADFDSAGjrM/eyrG99jE2LjnUqtK7zOEmZ3Q7Jmd0OyAmbmJzcDs8L2E+CiAmbmJzcDsg
Jm5ic3A7PC9kaSADFDSAFXY+PC9kaXY+PC9zcGFuPg==
------=_Part_175511_200539653.1545749811244–

------=_Part_175509_898170917.1545749811244
Content-Type: text/plain; name=“IOFile.java”
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=“IOFile.java”

aW1wb3J0IGphdmEubmlvLmNoYSAFDSAW5uZWxzLkZpbGVDaGFubmVsOwppbXBvcnQgamF2YS5pby5GaWxl
OyAgICAKaW1wb3J0IGphdmEuaW8uRmlsZU91dHB1dFN0cmVhbTsgICAgCmltcG9ydCBqYXZhLmlv
Lk91dHB1dFN0cmVhbTsgCmltcG9ydCBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjsKaW1w
b3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkT3V0cHV0U3Ry
ZWFtOwppbXBvcnQgamF2YSSDFDSA5pby5GaWxlV3JpdGVyOwppbXBvcnQgamF2YS5pby5SYW5kb21BY2Nl
c3NGaWxlOwpwdWJsaWMgSDFSAY2xhc3MgSU9GaWxlIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0
cmluZ1tdIGFyZ3MpIHsKCQlAFADAFSYW5kb21BY2Nlc3NGaWxlIGZpbGUgPSBudWxsOwoJCXRyeSB7CgkJ
CWZpbGUgPSBuZXcgUmADFDSAFDFuZG9tQWNjZXNzRmlsZSgiZS50eHQiLCAicnciKTsKCQl9IGNhdGNoIChG
aWxlTm90Rm91bmRFeGNlcHRpb24gZSkgewoJCQlTeXN0ZW0uZXJyLnByaW50bG4oZSk7CgkJfQoJ
CQoJCU91dHB1dFN0cmVhbSBvcyA9IG51bGw7CgkJdHJ5IHsKCQkJb3MgPSBuZXcgRmlsZU91dHB1
dFN0cmVhbShuZXcgRmlsZSgiYS50eHQiKSk7CgkJCW9zID0gbmV3IEJ1ZmZlcmVkT3V0cHV0U3Ry
ZWFtKG9zKTsKCQl9IGNhdGNoIChGaWxlTm90Rm91bmRFeGNlcHRpb24gZSkgewoJCQlTeXN0ZW0u
ZXJyLnByaW50bG4oZSk7CgkJfQoJCVN0cmluZyBoZWxsbyA9ICJoZWxsbyI7CgkJdHJ5IHsKCQkJ
b3Mud3JpdGUoaGVsbG8uZ2V0Qnl0ZXMoKSk7CgkJCS8vIG9zLmZsdXNoKCk7CgkJCS8vIG9zLmNs
b3NlKCk7CgkJfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewoJCQlTeXN0ZW0uZXJyLnByaW50bG4o
ZSk7CgkJfQoKCQlGaWxlQ2hhbm5lbCBmaWxlQ2hhbm5lbCA9IGZpbGUuZ2V0Q2hhbm5lbCgpOwoJ
CXRyeSB7CgkJCWZpbGVDaGFubmVsLnRydW5jYXRlKDEwMjQwMCk7CgkJfSBjYXRjaCAoSU9FeGNl
cHRpb24gZSkgewoJCQlTeXN0ZW0uZXJyLnByaW50bG4oZSk7CgkJfQoJCQoJCXRlc3RGaWxlV3Jp
dGVyKCk7Cgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIHRlc3RGaWxlV3JpdGVyKCkgewoJCUZpbGUg
ZmlsZSA9IG5ldyBGaWxlKCJkLnR4dCIpOwoJCUZpbGVXcml0ZXIgb3MgPSBudWxsOwoJCXRyeSB7
CgkJCW9zID0gbmV3IEZpbGVXcml0ZXIoZmlsZSk7CgkJCS8vIG9zID0gbmV3IEJ1ZmZlcmVkT3V0
cHV0U3RyZWFtKG9zKTsKCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7CgkJCVN5c3RlbS5lcnIu
cHJpbnRsbihlKTsKCQl9CgkJU3RyaW5nIGhlbGxvID0gImhlbGxvIjsKCQl0cnkgewoJCQlvcy53
cml0ZShoZWxsbyk7CgkJCS8vIG9zLmZsdXNoKCk7CgkJCS8vIG9zLmNsb3NlKCk7CgkJfSBjYXRj
aCAoSU9FeGNlcHRpb24gZSkgewoJCQlTeXN0ZW0uZXJyLnByaW50bG4oZSk7CgkJfQoJfQp9
------=_Part_175509_898170917.1545749811244–
)
a09 OK Fetch completed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值