Разбор полей заголовка электронной почты с использованием C / C ++ - PullRequest
2 голосов
/ 11 февраля 2011

У меня есть код на C, где я получаю заголовки для всех писем в папке входящих сообщений с помощью команды imap, используя команду UID FETCH 1: * (FLAGS BODY [HEADER]). Из-за особых требований аутентификации я не могу использовать стандартную библиотеку imap, такую ​​как vmime или libetpan. Мне нужно проанализировать значения заголовка почты в соответствии с RFC 822. Есть ли у нас какая-нибудь библиотека / функция в C / C ++, которая будет выполнять эту работу?

Ответы [ 3 ]

3 голосов
/ 20 февраля 2011

Миметик прекрасно работает!он также заботится о нестандартных почтовых заголовках.

1 голос
/ 11 ноября 2013

Вот пример использования миметика:

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

Это то, что вам нужно?Надеюсь, это поможет!

1 голос
/ 11 февраля 2011

Давным-давно в далекой галактике я использовал библиотеку MIME ++, теперь поддерживаемую Hunny Software: http://www.hunnysoft.com/mimepp/

В то время он работал отлично.

...