2011-02-11 29 views
2

我有一個C代碼,我通過imap發出UID FETCH 1:*(FLAGS BODY [HEADER])命令爲收件箱中的所有郵件提取標題。由於特殊的身份驗證要求,我不能使用像vmime或libetpan這樣的標準imap庫。我需要根據RFC 822解析郵件頭的值。我們有一些C/C++庫/函數可以完成這項工作嗎?使用C/C++解析電子郵件標題字段

回答

3

Mimetic很棒!它也會處理非標準的郵件標題。

1

在一個星系很久以前遙遠的地方,我用MIME ++庫,現在Hunny軟件支持:http://www.hunnysoft.com/mimepp/

這在當時真是棒極了。

+0

付費軟件,無法使用它!找到了開源解決方案http://codesink.org/mimetic_mime_library.html#snippets。現在嘗試它 – Nands

1

下面是一個例子使用模擬:

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;  
} 

這是你需要什麼?希望能幫助到你!