⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter_2_1.cpp

📁 日本人开发的邮件解析 参考价值还是有的 很不错的资源
💻 CPP
字号:
#include    "emailkit.h"

int     main( int argc, char* argv[] )
{

    MimeMessage*    pMM;    // MimeMessage僆僽僕僃僋僩
    AddressList*    pFRM;   // AddressList僐儗僋僔儑儞僆僽僕僃僋僩
    AddressList*    pTO;    // AddressList僐儗僋僔儑儞僆僽僕僃僋僩
    MimeText*       pSJT;   // MimeText僆僽僕僃僋僩
    IAddress*       pIA;    // IAddress僀儞僞僼僃乕僗
    MailAddress*    pMA;    // MailAddress僆僽僕僃僋僩
    AddressGroup*   pAG;    // AddressGroup僐儗僋僔儑儞僆僽僕僃僋僩
    TextEncoder*    pTE;    // TextEncoder僆僽僕僃僋僩

    CUTF16Text      utVal;
    int      num  = 0;
    int      num2 = 0;
    int      ii;
    int      jj;
    bool     ret;


    // 僆僽僕僃僋僩偺惗惉
    pMM = new MimeMessage;
    pTE = new TextEncoder;

    // 儊僢僙乕僕偺峔憿偺夝愅
    pTE->CharsetDecode( argv[1], strlen( argv[1] ), "", true, utVal );

    pMM->DecodeFile( utVal );

    // -- From:偺庢摼 -----------------
    // From: 偺奿擺愭傪庢摼
    pMM->get_From( &pFRM );

    // 梫慺悢偺庢摼
    pFRM->get_Count( &num );

    printf( "-- From: -------------\n" );

    for( ii = 0; ii < num; ii++ )
    {
        // 梫慺偺庢摼
        pFRM->Item( ii, &pIA );
        // 嶲徠愭偺敾掕
        pIA->IsMailAddress( &ret );

        if( ret == true )
        { // MailAddress僆僽僕僃僋僩

            pMA = ( MailAddress* )pIA;
            // From丗偺庢摼
            pMA->get_Value( utVal );

            wprintf( L"%s\n\n", utVal );
        }
        else
        { // AddressGroup僆僽僕僃僋僩

            pAG = ( AddressGroup* )pIA;

            // 梫慺悢偺庢摼
            pAG->get_Count( &num2 );

            for( jj = 0; jj < num2; jj++ )
            {
                // 梫慺偺庢摼
                pAG->Item( jj, &pMA );
                // From丗偺庢摼
                pMA->get_Value( utVal );

                wprintf( L"%s\n\n", utVal );
            }
        }
    }

    // -- To:偺庢摼 -----------------
    // To: 偺奿擺愭傪庢摼
    pMM->get_To( &pTO );

    // 梫慺悢偺庢摼
    pTO->get_Count( &num );

    printf( "-- To: ---------------\n" );

    for( ii = 0; ii < num; ii++ )
    {
        // 梫慺偺庢摼
        pTO->Item( ii, &pIA );
        // 嶲徠愭偺敾掕
        pIA->IsMailAddress( &ret );

        if( ret == true )
        { // MailAddress僆僽僕僃僋僩

            pMA = ( MailAddress* )pIA;
            // To丗偺庢摼
            pMA->get_Value( utVal );

            wprintf( L"%s\n\n", utVal );
        }
        else
        { // AddressGroup僆僽僕僃僋僩

            pAG = ( AddressGroup* )pIA;
            // 梫慺悢偺庢摼
            pAG->get_Count( &num2 );

            for( jj = 0; jj < num; jj++ )
            {
                // 梫慺偺庢摼
                pAG->Item( jj, &pMA );
                // To丗偺庢摼
                pMA->get_Value( utVal );

                wprintf( L"%s\n\n", utVal );
            }
        }
    }

    // -- Subject:偺庢摼 -----------------
    // Subject丗偺奿擺愭傪庢摼
    pMM->get_Subject( &pSJT );

    // Subject丗偺庢摼
    pSJT->get_Value( utVal );

    printf( "-- Subject: ----------\n" );
    wprintf( L"%s\n\n", utVal);

    // -- 杮暥偺庢摼 -----------------
    // 杮暥偺庢摼
    pMM->GetText( utVal );

    printf( "-- Text: -------------\n" );
    wprintf( L"%s\n\n", utVal);

    // MimeMessage僆僽僕僃僋僩偺奐曻
    delete  pMM;

    Sleep(10*1000);
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -