size - IMAP 命令获取邮件大小

标签 size command imap message content-length

我正在寻找使用 IMAP 获取消息大小的最佳方法(我正在为自己编写一个简单的 C# 库)。基本上,等效的 POP3 STAT 命令会很好,但它不存在。我正在考虑获取消息头并获取内容长度字段。有人有更好的想法或解决方案吗?

最佳答案

也许使用FETCH NNN HEADER是做到这一点的唯一方法。您检查过 FETCH NNN RFC822.SIZE 的规范吗?另外也许一个好主意是从 fetchmail 日志中学习:

fetchmail: IMAP< * OK GroupWise IMAP4rev1 Server Ready
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4rev1 AUTH=XGWTRUSTEDAPP XGWEXTENSIONS
fetchmail: IMAP< A0001 OK CAPABILITY completed
fetchmail: IMAP> A0002 LOGIN "user1" *
fetchmail: IMAP< A0002 OK LOGIN completed
fetchmail: IMAP> A0003 SELECT "INBOX"
fetchmail: IMAP< * 260 EXISTS
fetchmail: IMAP< * 1 RECENT
fetchmail: IMAP< * OK [UNSEEN 260]
fetchmail: IMAP< * OK [UIDVALIDITY 1301053702]
fetchmail: IMAP< * OK [UIDNEXT 545]
fetchmail: IMAP< * FLAGS (Answered Flagged Deleted Draft Seen)
fetchmail: IMAP< * OK [PERMANENTFLAGS (Answered Flagged Deleted Draft Seen *)]
fetchmail: IMAP< A0003 OK [READ-WRITE] SELECT completed
fetchmail: IMAP> A0004 SEARCH UNSEEN NOT DELETED
fetchmail: IMAP< * SEARCH 260
fetchmail: IMAP< A0004 OK SEARCH completed
260 messages (259 seen) for user1 at host_address.
skipping message user1@host_address:1 not flushed
      { ... etc ... }
skipping message user1@host_address:258 not flushed
skipping message user1@host_address:259 not flushed
fetchmail: IMAP> A0005 FETCH 260 RFC822.SIZE
fetchmail: IMAP< * 260 FETCH (RFC822.SIZE 23853)
fetchmail: IMAP< A0005 OK FETCH completed
fetchmail: IMAP> A0006 FETCH 260 RFC822.HEADER
fetchmail: IMAP< * 260 FETCH (RFC822.HEADER {367}
fetchmail: IMAP< )
fetchmail: IMAP< A0006 OK FETCH completed
fetchmail: IMAP> A0007 FETCH 260 BODY.PEEK[TEXT]
fetchmail: IMAP< * 260 FETCH (BODY[TEXT] {23486}
(23486 body octets) *********************
fetchmail: IMAP< A0007 OK FETCH completed
fetchmail: IMAP> A0008 STORE 260 +FLAGS (Seen)
fetchmail: IMAP< * 260 FETCH (FLAGS (Seen Recent))
fetchmail: IMAP< A0008 OK STORE completed
fetchmail: IMAP> A0009 LOGOUT
fetchmail: IMAP< * BYE IMAP4rev1 Server Disconnect
fetchmail: IMAP< A0009 OK LOGOUT completed

关于size - IMAP 命令获取邮件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023723/

相关文章:

带有来自 csv 的字符串的 linux bash 构建命令

android - 加载图像的高度比实际图像大

java - 将项目添加到 ArrayLists 大小错误的 LinkedList

bash - 找不到生成命令

awk - 订购一列然后在命令行中使用 awk 打印特定行

windows - Mail::IMAPClient 没有电子邮件内容

php - imap_open : couldn't open stream to my mail server

php - 在 PHP 中使用 IMAP 下载附件到目录,随机工作

c - Realloc - Realloc 不会生成更小的 char*

c++ - 无法将大小 QMainWindow 设置为小于 200x100 像素