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

📄 chapter_2_1.c

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

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

    MimeMessage_p*  pMM;    /* MimeMessage  */
    AddressList_p*  pFRM;   /* AddressList  */
    AddressList_p*  pTO;    /* AddressList  */
    MimeText_p*     pSJT;   /* MimeText     */
    IAddress_p*     pIA;    /* IAddress     */
    MailAddress_p*  pMA;    /* MailAddress  */
    AddressGroup_p* pAG;    /* AddressGroup */
    TextEncoder_p*  pTE;    /* TextEncoder  */

    CUTF16Text_p* utVal;
    int num = 0;
    int num2 = 0;
    int ii;
    int jj;
    int ret;


    pMM = new_MimeMessage();
    pTE = new_TextEncoder();

    utVal = new_CUTF16Text();

    /* 儊僢僙乕僕偺峔憿偺夝愅 */
    TextEncoder_CharsetDecode( pTE, argv[1], strlen( argv[1] ), "", true, utVal );
    MimeMessage_DecodeFile( pMM, CUTF16Text_GetText( utVal ) );

    /* -- From:偺庢摼 ----------------- */
    /* From: 偺奿擺愭傪扵偡 */
    MimeMessage_get_From( pMM, &pFRM );

    /* 梫慺悢傪庢摼 */
    AddressList_get_Count( pFRM, &num );

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

    for( ii = 0; ii < num; ii++ )
    {
        /* 梫慺偺庢摼 */
        AddressList_Item( pFRM, ii, &pIA );
        /* 嶲徠愭偺敾掕 */
        IAddress_IsMailAddress( pIA, &ret );

        if( ret == true )
        { /* MailAddress */

            pMA = ( MailAddress_p* )pIA;

            /* From丗偺庢摼 */
            MailAddress_get_Value( pMA, utVal );

            wprintf( L"%s\n\n", CUTF16Text_GetText( utVal ) );
        }
        else
        { /* AddressGroup */

            pAG = ( AddressGroup_p* )pIA;

            /* 梫慺悢偺庢摼 */
            AddressGroup_get_Count( pAG, &num2 );

            for ( jj = 0; jj < num2; jj++ )
            { 
                /* 梫慺偺庢摼 */
                AddressGroup_Item( pAG, jj, &pMA );
                /* From丗偺庢摼 */
                MailAddress_get_Value( pMA, utVal );

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

    /* -- To:偺庢摼 ----------------- */
    /* To: 偺奿擺愭傪扵偡 */
    MimeMessage_get_To( pMM, &pTO );

    /* 梫慺悢偺庢摼 */
    AddressList_get_Count( pTO, &num );

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

    for( ii = 0; ii < num; ii++ )
    {
        /* 梫慺偺庢摼 */
        AddressList_Item( pTO, ii, &pIA );
        /* 嶲徠愭偺敾掕 */
        IAddress_IsMailAddress( pIA, &ret );

        if( ret == true )
        { /* MailAddress */

            pMA = ( MailAddress_p* )pIA;

            /* To丗偺庢摼 */
            MailAddress_get_Value( pMA, utVal );

            wprintf( L"%s\n\n", CUTF16Text_GetText( utVal ) );
        }
        else
        { /* AddressGroup */

            pAG = ( AddressGroup_p* )pIA;
            /* 梫慺悢偺庢摼 */
            AddressGroup_get_Count( pAG, &num2 );

            for ( jj = 0; jj < num; jj++ )
            {
                /* 梫慺偺庢摼 */
                AddressGroup_Item( pAG, jj, &pMA );
                /* To丗偺庢摼 */
                MailAddress_get_Value( pMA, utVal );

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

    /* -- Subject:偺庢摼 ----------------- */
    /* Subject丗偺奿擺愭傪庢摼 */
    MimeMessage_get_Subject( pMM, &pSJT );

    /* Subject丗偺庢摼 */
    MimeText_get_Value( pSJT, utVal );

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

    /* -- 杮暥偺庢摼 ----------------- */
    /* 杮暥偺庢摼 */
    MimeMessage_GetText( pMM, utVal );

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

    delete_MimeMessage( pMM );
    delete_TextEncoder( pTE );

    delete_CUTF16Text( utVal );

    Sleep(10*1000);
    return 0;
}

⌨️ 快捷键说明

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