imap - Imap4req1中的Subscribe和Unsubscribe命令有什么用?

标签 imap

Imap4req1中的Subscribe和Unsubscribe命令有什么用?我检查了 RFC 3501,但我无法理解它的用法。当我编写以下命令时会发生什么

A SUBSCRIBE "MAILBOX_NAME"

A UNSUBSCRIBE "MAILBOX_NAME"

服务器会将这些邮箱视为单独的邮箱吗?

样本 :

请检查以下一次,并说出不同之处
A LIST "" "*"
* LIST (\HasNoChildren) "/" "Bulk Mail"
* LIST (\HasNoChildren) "/" "Draft"
* LIST (\HasNoChildren) "/" "Inbox"
* LIST (\HasNoChildren) "/" "Sent"
* LIST (\HasNoChildren) "/" "Trash"
A OK LIST completed
A SUBSCRIBE INBOX
A OK SUBSCRIBE completed
A LSUB "" "*"
* LSUB (\HasNoChildren) "/" "Bulk Mail"
* LSUB (\HasNoChildren) "/" "Draft"
* LSUB (\HasNoChildren) "/" "Inbox"
* LSUB (\HasNoChildren) "/" "Sent"
* LSUB (\HasNoChildren) "/" "Trash"
A OK LSUB completed

最佳答案

他们改变了 LSUB 的输出命令。就是这样。 SUBSCRIBE将文件夹添加到 LSUB 的输出中命令。 UNSUBSCRIBE将从 LSUB 的输出中删除它们命令。即,LSUB仅显示订阅的文件夹。
LIST将始终显示所有文件夹。

例如,从订阅的所有文件夹开始:

a LIST "" *
* LIST (\HasNoChildren) "." "INBOX.Drafts"
* LIST (\HasNoChildren) "." "INBOX.Sent"
* LIST (\HasNoChildren) "." "INBOX.Trash"
* LIST (\Marked \HasChildren) "." "INBOX"
a OK LIST completed

a LSUB "" *
* LSUB (\Marked \HasChildren) "." "INBOX"
* LSUB (\HasNoChildren) "." "INBOX.Drafts"
* LSUB (\HasNoChildren) "." "INBOX.Sent"
* LSUB (\HasNoChildren) "." "INBOX.Trash"
a OK LSUB completed

现在让我们退订 INBOX.Sent :
a UNSUBSCRIBE INBOX.Sent
a OK Folder unsubscribed.
a LSUB "" *
* LSUB (\Marked \HasChildren) "." "INBOX"
* LSUB (\HasNoChildren) "." "INBOX.Drafts"
* LSUB (\HasNoChildren) "." "INBOX.Trash"
a OK LSUB completed

唯一不同的是INBOX.Sent已从 LSUB 输出中删除。请注意,LIST 输出根本不会受到影响。

现在让我们把它放回去:
a SUBSCRIBE INBOX.Sent
a OK Folder subscribed.
a LSUB "" *
* LSUB (\HasNoChildren) "." "INBOX.Sent"
* LSUB (\Marked \HasChildren) "." "INBOX"
* LSUB (\HasNoChildren) "." "INBOX.Drafts"
* LSUB (\HasNoChildren) "." "INBOX.Trash"
a OK LSUB completed

它们通常用于客户端标记用户有兴趣查看的文件夹。

关于imap - Imap4req1中的Subscribe和Unsubscribe命令有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014353/

相关文章:

exchange-server - 不同电子邮件服务器中的 IMAP 协议(protocol)支持

windows - Mail::IMAPClient->new 在 Windows 中挂起

imap - 通过 IMAP 确定附加到邮箱的消息的 uid

jmeter - 使用 JMeter Mail Reader 采样器测试高级场景

c# - 如何确定 IMAP 中消息的 UID

jakarta-mail - IMAPMessage.getUID() 和 Message-ID header 有什么区别?

python - 解析发件人、发件人和主题的消息

戈朗 IMAP : moving messages to another folder

php - 使用 imap 获取 gmail 收件箱

php - 带有嵌入式图像的 IMAP PHP 未在本地主机上显示 Codeigniter