• 大小: 66KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: POP3  SMTP  mail  client  

资源简介

POP3: 1.支持本地缓存最新的3封邮件。 2.正常解析出收件人、发件人、主题、日期、邮件内容。 3.正常解析无格式纯文本,支持中文、英文和中英混杂文本。 4.接收邮件时存在附件则弹出保存文件的对话框,无附件则对话框提示该邮件无附件。 5.支持删除指定的邮件。 6.列表显示当前服务器邮件的信息。 SMTP: 1.支持发送中英文的邮件。 2.支持给多人发送邮件,每个收件人之间用“;”隔开。 3.支持发送多个附件。 4.附件支持有限个常见的文件格式,如jpg、txt、doc、exe、rar、zip等。

资源截图

代码片段和文件信息

// base64.cpp: implementation of the base64 class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “POP3MailClient.h“
#include “base64.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

base64::base64()
{

}

base64::~base64()
{

}

string base64::Encode(const char* Dataint DataByte)
{
//编码表
    const char EncodeTable[]=“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
    //返回值
    CString strEncode;
    unsigned char Tmp[4]={0};
    int LineLength=0;
    for(int i=0;i<(int)(DataByte / 3);i++)
    {
        Tmp[1] = *Data++;
        Tmp[2] = *Data++;
        Tmp[3] = *Data++;
        strEncode+= EncodeTable[Tmp[1] >> 2];
        strEncode+= EncodeTable[((Tmp[1] << 4) | (Tmp[2] >> 4)) & 0x3F];
        strEncode+= EncodeTable[((Tmp[2] << 2) | (Tmp[3] >> 6)) & 0x3F];
        strEncode+= EncodeTable[Tmp[3] & 0x3F];
        if(LineLength+=4LineLength==76) {strEncode+=“\r\n“;LineLength=0;}
    }
    //对剩余数据进行编码
    int Mod=DataByte % 3;
    if(Mod==1)
    {
        Tmp[1] = *Data++;
        strEncode+= EncodeTable[(Tmp[1] & 0xFC) >> 2];
        strEncode+= EncodeTable[((Tmp[1] & 0x03) << 4)];
        strEncode+= “==“;
    }
    else if(Mod==2)
    {
        Tmp[1] = *Data++;
        Tmp[2] = *Data++;
        strEncode+= EncodeTable[(Tmp[1] & 0xFC) >> 2];
        strEncode+= EncodeTable[((Tmp[1] & 0x03) << 4) | ((Tmp[2] & 0xF0) >> 4)];
        strEncode+= EncodeTable[((Tmp[2] & 0x0F) << 2)];
        strEncode+= “=“;
    }
    
    return strEncode;
}

CString base64::Decode(const char* Dataint DataByteint& OutByte)
{
//解码表
    const char DecodeTable[] =
    {
        0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        62 // ‘+‘
        0 0 0
        63 // ‘/‘
        52 53 54 55 56 57 58 59 60 61 // ‘0‘-‘9‘
        0 0 0 0 0 0 0
        0 1 2 3 4 5 6 7 8 9 10 11 12
        13 14 15 16 17 18 19 20 21 22 23 24 25 // ‘A‘-‘Z‘
        0 0 0 0 0 0
        26 27 28 29 30 31 32 33 34 35 36 37 38
        39 40 41 42 43 44 45 46 47 48 49 50 51 // ‘a‘-‘z‘
    };
    //返回值
    CString strDecode;
    int nValue;
    int i= 0;
    while (i < DataByte)
    {
        if (*Data != ‘\r‘ && *Data!=‘\n‘)
        {
            nValue = DecodeTable[*Data++] << 18;
            nValue += DecodeTable[*Data++] << 12;
            strDecode+=(nValue & 0x00FF0000) >> 16;
            OutByte++;
            if (*Data != ‘=‘)
            {
                nValue += DecodeTable[*Data++] << 6;
                strDecode+=(nVa

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4188  2015-06-11 12:29  MailClient\base64.cpp

     文件        807  2015-06-11 12:29  MailClient\base64.h

     文件      24268  2015-06-22 17:08  MailClient\POP3MailClient.aps

     文件       3063  2015-06-23 19:34  MailClient\POP3MailClient.clw

     文件       2269  2015-05-15 22:26  MailClient\POP3MailClient.cpp

     文件       4570  2015-05-15 23:55  MailClient\POP3MailClient.dsp

     文件        536  2015-05-15 22:26  MailClient\POP3MailClient.dsw

     文件       1412  2015-05-15 22:26  MailClient\POP3MailClient.h

     文件     271360  2015-06-23 19:34  MailClient\POP3MailClient.ncb

     文件      56832  2015-06-23 19:34  MailClient\POP3MailClient.opt

     文件        262  2015-06-23 19:29  MailClient\POP3MailClient.plg

     文件       9337  2015-06-11 08:22  MailClient\POP3MailClient.rc

     文件      46321  2015-06-11 12:53  MailClient\POP3MailClientDlg.cpp

     文件       4327  2015-06-11 08:44  MailClient\POP3MailClientDlg.h

     文件       1353  2015-05-15 22:48  MailClient\QuotedPrintable.cpp

     文件        722  2015-05-15 22:48  MailClient\QuotedPrintable.h

     文件       3723  2015-05-15 22:26  MailClient\ReadMe.txt

     文件       1979  2015-06-10 20:19  MailClient\resource.h

     文件        216  2015-05-15 22:26  MailClient\StdAfx.cpp

     文件       1102  2015-05-15 22:26  MailClient\StdAfx.h

     文件       1078  2015-05-15 22:26  MailClient\res\POP3MailClient.ico

     文件        406  2015-05-15 22:26  MailClient\res\POP3MailClient.rc2

     目录          0  2015-06-10 21:42  MailClient\res

     目录          0  2015-06-23 19:34  MailClient

----------- ---------  ---------- -----  ----

               440131                    24


评论

共有 条评论