gpt4 book ai didi

imap - libcurl 和 imap

转载 作者:行者123 更新时间:2023-12-04 03:16:32 35 4
gpt4 key购买 nike

我注意到 libcurl 支持 IMAP,但在文档和示例中没有找到任何内容 http://curl.haxx.se/libcurl/c/imap.html很穷。有谁知道如何在这个库中使用这个协议(protocol),如何下载邮件?
问候

最佳答案

邮件列表中有一封很好的电子邮件,描述了这里的 IMAP 语法:
http://curl.haxx.se/mail/lib-2013-03/0104.html

这是相关部分:

--url imap://mail.example.com/INBOX/;UID=1 - 选择用户的收件箱和
获取消息 1

--url imap://mail.example.com/INBOX;UIDVALIDITY=50/;UID=2 - 选择
用户的收件箱,检查邮箱的 UIDVALIDITY 是否为 50 并获取
消息 2 如果是

--url imap://mail.example.com/INBOX/;UID=3/;SECTION=TEXT - 选择
用户的收件箱并仅使用消息的文本部分获取消息 3

除了检索电子邮件之外,还可以传输电子邮件
电子邮件到服务器。这是通过 IMAP APPEND 命令和
只需利用 curl 的现有机制将数据上传到服务器:

--url imap://mail.example.com/OUTBOX -T email.txt

  • 可以发出其他命令,例如: LIST 列出某个文件夹的子文件夹
    邮箱;检查以查看邮箱中存在哪些电子邮件;创建、重命名和
    DELETE 操作子文件夹, STORE 更改电子邮件的属性
    和别的。一些例子如下:

  • --url imap://mail.example.com - 执行顶级文件夹列表

    --url imap://mail.example.com/INBOX - 执行用户的文件夹列表
    收件箱

    --url imap://mail.example.com -X "EXAMINE INBOX"- 执行邮件列表
    在用户的收件箱上

    --url imap://mail.example.com/INBOX -X "CREATE Sub-folder"- 创建一个
    用户收件箱中的子文件夹

    --url imap://mail.example.com/INBOX -X "重命名子文件夹我的文件夹"-
    将用户收件箱中的子文件夹重命名为 my-folder

    --url imap://mail.example.com/INBOX -X "DELETE Sub-folder"- 删除
    用户收件箱中的子文件夹

    --url imap://mail.example.com/INBOX -X "STORE 1 +Flags\Deleted"- 删除
    来自用户收件箱的消息 1

    --url imap://mail.example.com/INBOX -X "STORE 1 +Flags\Seen"- 标记
    用户收件箱中的消息 1 已读

    除了使用 URL 语法来获取消息之外,还可以
    也可以使用自定义请求机制来执行自定义 FETCH 操作。
    例如

    --url imap://mail.example.com/INBOX -X "'FETCH 1 BODY[TEXT]"将执行
    相同的操作

    --url imap://mail.example.com/INBOX/;UID=1/;SECTION=TEXT

    关于imap - libcurl 和 imap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267500/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com