email - 通过 message_id 从 imap 检索单个电子邮件

标签 email imap

我正在使用 ruby​​ 的 Net::IMAP 对象,我可以使用以下任一方法检索一组电子邮件:

IMAP.all ..args..

或者
IMAP.find ..args..

但是无论如何都可以检索特定的电子邮件,例如最好通过 message-id header ?

这是可能的还是我仅限于 allfind并试图用更好的参数缩小结果集?

最佳答案

我不明白您在 IMAP 中使用的是什么技术。然而IMAP Specification提供按各种字段进行搜索的能力,包括电子邮件标题。您可以使用以下 IMAP 命令检索具有 Message-Id <53513DD7.8090606@imap.local> 的电子邮件的 UID。 :

0005 UID SEARCH HEADER Message-ID <53513DD7.8090606@imap.local>
然后,这会给你一个响应,如下所示:
* SEARCH 1
0005 OK UID completed
在我的情况下,带有 Message-Id <53513DD7.8090606@imap.local> 的电子邮件是第一个,所以 SEARCH 命令返回一个匹配的 UID 1 .
然后,您可以使用 UID FETCH 检索消息。命令,例如:
0006 UID FETCH 1 BODY[]
当然,如果你事先知道UID,你可以跳过UID SEARCH步骤,但这取决于您的应用程序。

关于email - 通过 message_id 从 imap 检索单个电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23411260/

相关文章:

javascript - 向新用户发送电子邮件 firebase

php - 寻找一个仅限 php 的电子邮件地址混淆器功能

excel - 如何通过电子邮件发送Excel Exporter插件的输出

c# - Mailkit 对 Imap 的身份验证失败

c# - 使用 MailKit 库保存附件?

email - Orchard cms 渲染形状作为电子邮件模板

HTML电子邮件签名文件在回复中有黑边

python imap : how to parse multipart mail content

JavaMail - 使用代理服务器,因为连接到办公室网络时读取 gmail 代码不起作用

java - 如何从 Java 应用程序访问我的 Gmail 电子邮件?