【问题标题】:Imap: Get multiple sections from email with one commandImap:使用一个命令从电子邮件中获取多个部分
【发布时间】:2019-03-11 08:48:41
【问题描述】:

我在curl mailing list (curl-users) 中交叉发布了这个。

我知道如何获取电子邮件标题的多个部分,如下所示:

curl --url "imaps://imap.ionos.de/INBOX;UID=216;SECTION=HEADER.FIELDS%20(DATE%20FROM%20TO%20SUBJECT)" -u "user:password"

但是是否有可能获得多个部分(接收日期和文本 我的情况)一次?我想结合这两个命令:

1:获取邮件接收日期

curl --url "imaps://imap.ionos.de/INBOX;UID=216;SECTION=HEADER.FIELDS%20(DATE)" -u "user:password"

2:获取电子邮件文本

curl --url "imaps://imap.ionos.de/INBOX;UID=216;SECTION=TEXT" -u "user:password"

我试过这样的:

curl --url "imaps://imap.ionos.de/INBOX;UID=216;SECTION=HEADER.FIELDS%20(DATE);SECTION=TEXT" -u "user:password"

–––––––––––––––––––––

谢谢diciu,这很好用。我还有一个问题:

当我添加 --ouput output.txt 时,该文件仅包含最后一个 FETCH(在本例中为 SECTION=TEXT)。是否可以将所有 FETCH 结果输出到一个输出文件?我知道我可以使用>> output.txt 追加,但我用它在同一命令中写入日志文件。

这是我的完整命令:

curl --url "imaps://imap.ionos.de/INBOX;UID=295;SECTION=HEADER.FIELDS%20(DATE)" "imaps://imap.ionos.de/INBOX;UID=295;SECTION=TEXT"-u "user:password" --output output.txt --verbose >> logfile.log 2>&1

【问题讨论】:

    标签: batch-file curl libcurl


    【解决方案1】:

    你必须一个接一个地添加两个请求,例如

    curl --url "imaps://imap.ionos.de/INBOX;UID=216;SECTION=HEADER.FIELDS%20(DATE)" "imaps://imap.ionos.de/INBOX;UID=216;SECTION=TEXT" -u "user:password"
    

    curl 将在同一个会话中发出这两个命令,也就是说,在选择文件夹之后,它将产生两个 FETCH 命令。

    【讨论】:

    • 请查看原帖的补充内容。
    • 你不能那样做。每个请求都有它自己的 --output 参数,所以如果你只是说 curl url1 --output out.txt url2 --output out.txt 你最终会覆盖第一个结果。
    猜你喜欢
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多