使用C / C ++解析Email头字段

时间:2011-02-11 05:14:45

标签: c parsing email imap email-headers

我有一个C代码,我通过imap发出UID FETCH 1:*(FLAGS BODY [HEADER])命令来获取收件箱中所有邮件的标题。由于特殊的身份验证要求,我不能使用像vmime或libetpan这样的标准imap库。我需要根据RFC 822解析邮件头值。我们是否在C / C ++中有一些库/函数可以完成这项工作?

3 个答案:

答案 0 :(得分:3)

Mimetic很棒!它还会处理非标准的邮件标题。

答案 1 :(得分:1)

很久以前,在遥远的星系中,我使用了现在由Hunny Software支持的MIME ++库:http://www.hunnysoft.com/mimepp/

当时效果很好。

答案 2 :(得分:1)

以下是使用mimetic的示例:

void MailServer::PrintMimeStructure(MimeEntity* pMe)
{
    Header& h = pMe->header();  

    if(h.hasField("subject"))
        cout << "<subject>" << h.field("subject").value() << "</subject>" << 
        endl;

    if(h.hasField("from"))
        cout << "<from>" << h.field("from").value() << "</from>" << 
        endl;
    if(h.hasField("to"))
        cout << "<to>" << h.field("to").value() << "</to>" << 
        endl;
    if(h.hasField("message-id"))
        cout << "<message-id>" << h.field("message-id").value() << "</message-id>" << 
        endl;

    if(h.hasField("date"))
        cout << "<date>" << h.field("date").value() << "</date>" << 
        endl;       
}

这是你需要的吗?希望它有所帮助!