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

📄 chapter_1_3.c

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

int     main( int argc, char* argv[] )
{
    MimeMessage_p*         pMM;    /* MimeMessage        */
    AddressList_p*         pFRM;   /* AddressList        */
    AddressList_p*         pTO;    /* AddressList        */
    MimeText_p*            pSJT;   /* MimeText           */
    MessageID_p*           pMID;   /* MessageID          */
    MailDateTime_p*        pTIME;  /* MailDateTime       */
    ContentDisposition_p*  pCD;    /* ContentDisposition */
    FieldParameters_p*     pFPS1;  /* FieldParameters    */
    FieldParameters_p*     pFPS2;  /* FieldParameters    */
    ContentType_p*         pCT;    /* ContentType        */
    MultipartBody_p*       pMB;    /* MultipartBody      */
    MimeBodyPart_p*        pMBP;   /* MimeBodyPart       */

    MKDATETIME     mkdt;
    struct tm*     ptm;
    time_t         tt = 0;
    wchar_t        wText[1024] = L"偙傫偵偪偼悽奅両両\r\n崱擔偼偄偄揤婥丅\r\n";


    pMM = new_MimeMessage();

    /* -----僿僢僟偺愝掕(偦偺侾)--------------------- */
    /* From:偺愝掕 */
    MimeMessage_get_From( pMM, &pFRM );
    AddressList_AddMailAddress( pFRM, L"taro@example.com", L"", "", -1, NULL );

    /* To:偺愝掕 */
    MimeMessage_get_To( pMM, &pTO );
    AddressList_AddMailAddress( pTO, L"jiro@example.com", L"", "", -1, NULL );

    /* Subject:偺愝掕 */
    MimeMessage_get_Subject( pMM, &pSJT );
    MimeText_put_Value( pSJT, L"偙傫偵偪偼悽奅" );
    MimeText_put_CharacterSet( pSJT, "ISO-2022-JP" );

    /* Message-ID:偺愝掕 */
    MimeMessage_get_MessageID( pMM, &pMID );
    MessageID_NewID( pMID, "example.com" );

    /* -----杮暥偺愝掕------------------------------- */
    /* 儊僢僙乕僕傪儅儖僠僷乕僩偵偡傞 */
    MimeMessage_SetMultipart( pMM, "mixed" );

    /* 杮暥梡偺儃僨傿僷乕僩傪捛壛偡傞 */
    MimeMessage_get_MultipartBody( pMM, &pMB );
    MultipartBody_Add( pMB, -1, &pMBP );

    /* 捛壛偝傟偨儃僨傿僷乕僩偵杮暥傪愝掕 */
    MimeBodyPart_SetText( pMBP, wText, wcslen( wText ), "ISO-2022-JP", "plain", mkBodyAutoEncoding );

    /* 揧晅僼傽僀儖梡偺儃僨傿僷乕僩傪捛壛偡傞 */
    MimeMessage_get_MultipartBody( pMM, &pMB );
    MultipartBody_Add( pMB, -1, &pMBP );

    /* 捛壛偝傟偨儃僨傿僷乕僩偵揧晅僼傽僀儖偺忣曬傪愝掕 */
    MimeBodyPart_SetFile ( pMBP, L"C:\\Hello00.doc", "text/plain", mkBodyAutoEncoding );
    MimeBodyPart_get_ContentDisposition( pMBP, &pCD );
    ContentDisposition_put_Value( pCD, "attachment" );
    ContentDisposition_get_Parameters( pCD, &pFPS1 );
    FieldParameters_Add( pFPS1, "filename", L"Hello00.doc", "ISO-2022-JP", "", -1, NULL );
    MimeBodyPart_get_ContentType( pMBP, &pCT );
    ContentType_get_Parameters( pCT, &pFPS2 );
    FieldParameters_Add( pFPS2, "name", L"Hello00.doc", "ISO-2022-JP", "", -1, NULL );

    /* -----僿僢僟偺愝掕(偦偺2)---------------------- */
    /* Date:偺愝掕 */
    time( &tt );
    ptm         = localtime( &tt );
    mkdt.year   = ptm->tm_year + 1900;
    mkdt.month  = ptm->tm_mon  + 1;
    mkdt.day    = ptm->tm_mday;
    mkdt.hour   = ptm->tm_hour;
    mkdt.minute = ptm->tm_min;
    mkdt.second = ptm->tm_sec;

    MimeMessage_get_OriginationDate( pMM, &pTIME );
    MailDateTime_put_Value( pTIME, mkdt );

    /* -----僼傽僀儖偵曐懚--------------------------- */
    MimeMessage_EncodeFile( pMM, L"C:\\Sample02.eml", 
                            mkForCreating, mkMimeAutoEncoding, 
                            mkParameterStandardEncoding, 
                            mkParameterAutoEncoding );

    delete_MimeMessage( pMM );

    return 0;
}

⌨️ 快捷键说明

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