我正在尝试使用给定电子邮件的主题和发件人填充字符串的这种结构。 结构为:

struct EmailData {
    string msg_subject;
    string msg_sender;
};

我正在使用这样的writedata函数:以前写入了一个简单的字符串。

size_t CurlWrite(void* contents, size_t size, size_t nmemb, struct EmailData *Email)
{
    size_t newLength = size * nmemb;
    try
    {
        Email.msg_subject = ((char*)contents, newLength);
    }
    catch (std::bad_alloc& e)
    {
        //handle memory problem
        return 0;
    }
    return newLength;
}

但是,我不知道如何修改它以写入结构的每个部分。

curl_easy_setopt(curl, CURLOPT_URL,
            "imaps://imap.gmail.com:993/INBOX/;UID=*/;section=HEADER.FIELDS%20(Subject,From)");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWrite);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &Email);

那是curl IMAP函数的相关部分。

关于如何修复CurlWrite函数以使其能够使用字符串结构的任何建议? 另外,他们是一种从字符串开头自动省略“发件人”和“主题”的方法,还是以后需要删除字符串吗?

  ask by Andrew Delphiki translate from so

本文未有回复,本站智能推荐:

1回复

Libcurl选项按日期搜索邮件

是否有任何选项可以在c ++中使用libcurl按日期搜索邮件收件箱? 或者,如果无法做到这一点,是否可以选择获取邮件日期或至少获取完整的邮件标题。 IMAP / POP3 / SMTP之间的任何协议都可以。 目前,我的程序可以通过其ID获取特定的邮件:
1回复

使用Libcurl和C ++和IMAP协议的IMAP命令

我正在创建一个小型电子邮件客户端,该客户端通过Imap协议登录到Gmail,并搜索特定的电子邮件发件人,然后下载该特定邮件的内容。 我正在使用C ++和libcurl。 我已经成功登录,标题后返回的响应是我收件箱中的第一封电子邮件。 我想知道如何通过可配置为与Libcurl一起
1回复

使用libcurl和C ++将从IMAP服务器下载的电子邮件保存到文件中

我能够从IMAP服务器获取电子邮件,但无法将它们保存到计算机上的文件中以供以后处理。 有没有办法在C ++中使用libcurl做到这一点?
2回复

libcurl和imap

我注意到libcurl支持IMAP,但在文档中没有找到任何内容,例子http://curl.haxx.se/libcurl/c/imap.html非常差。 有谁知道如何在这个lib中使用这个协议,如何下载邮件? 问候
1回复

我如何调试 libcurl 来解决 IMAP 问题

我正在开发自己的 IMAP 应用程序,以使用 IMAP 读取和处理来自电子邮件服务器的特定电子邮件消息。 我的开发环境是 Ubuntu 20 LTS,使用eclipse-CDT 。 我决定使用 libcurl 作为电子邮件服务器的接口,因为我在另一个项目中成功地使用了它。 我的问题是,当我进行 I
2回复

如何使用libcurl和C从IMAP服务器读取消息:

我正在尝试使用libcurl从IMAP服务器检索消息。 这是我从在线示例中使用的代码: } 不幸的是,这行不通。 我得到以下输出: C SELECT INBOX/;UID=1 < C NO Mailbox doesn't exist: INBOX.;UID=1 *
2回复

libcurl,如何使用字符串作为密码?

遵循以下示例: https://github.com/curl/curl/blob/master/docs/examples/smtp-tls.c 我设法通过这样设置密码来使其工作: 但是,我想将密码设置为字符串,即: 但是,当我这样做时,我得到一个错误 我仔
1回复

libcurl将数据写入数组

我已经搜索过了。 我看过一些示例,这些示例说明如何使用libcurl下载数据并将数据写入文件,但我不知道如何将其写入数组 这是我到目前为止的代码: