程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 簡單郵件傳輸協議SMTP封裝類

簡單郵件傳輸協議SMTP封裝類

編輯:關於C語言

 

 

   在Internet上,Email是最流行的傳輸媒體。這篇文章包括兩個協議:. POP 3 協議: POP3協議(郵政傳輸協議)就是指從Email服務器接收信件。我已經提交了一個封裝POP3協議的類。該協議官方的描述你可查閱RFC1225。 SMTP協議: SMTP (簡單郵件傳輸協議) 指發送郵件到它的目的地。 有關SMTP 協議的細節你可參考RCF 821 .我最新地貢獻是封裝了SMTP協議。我不能完全實現 SMTP協議但你可用它在許多應用場合發送郵件。該類有若干方法,我選方法名同SMTP命令, 所以你很容易理解。 在該類中,我再一次使用了CSocket作為類成員,所以我能在線程中使用它. 下面是該類的編碼及注釋:

 

//////////////////////////////////////////////////////////////////////

// SMTP.h: interface for the CSMTP class.

//

//////////////////////////////////////////////////////////////////////

 

#if !defined(AFX_SMTP_H__617F7E82_7F4D_11D1_88A0_00001C302581__INCLUDED_)

#define AFX_SMTP_H__617F7E82_7F4D_11D1_88A0_00001C302581__INCLUDED_

 

#if _MSC_VER >= 1000

#pragma once

#endif // _MSC_VER >= 1000

 

#define CONNECTION_CHECK 0

#define HELLO_CHECK 1

#define MAIL_CHECK 2

#define RCPT_CHECK 3

#define DATA_START_CHECK 4

#define DATA_END_CHECK 5

#define QUIT_CHECK 6

#define DATA_CHECK 7

 

 

class CSMTP

{

public:

    BOOL Mail(); //

    CString GetErrorMessage();

    BOOL Data(CString Subject, CString Body);

    CString GetTo();

    BOOL SetTo(CString to);

    CString GetFrom();

    void SetFrom(CString from);

    BOOL Mail(CString from);

    BOOL Disconnect();

    CString GetHost();

    void SetHost(CString Host);

    BOOL Connect(CString Host, CString Me);

    BOOL Connect();

    CSMTP();

    virtual ~CSMTP();

   

private:

    CString GetError(CString Response);

    CString m_ErrorMessage;

    BOOL CheckResponse(int Type);

    int m_NoOfTo;

    CStringArray m_To;

    CString m_From;

    CSocket m_SMTPServer;

    CString m_Host;

   };

 

#endif // !defined(AFX_SMTP_H__617F7E82_7F4D_11D1_88A0_00001C302581__INCLUDED_)

 

 

//////////////////////////////////////////////////////////////////////////

// SMTP.cpp: implementation of the CSMTP class.

//

//////////////////////////////////////////////////////////////////////

 

#include "stdafx.h"

#include "MailSend.h"

#include "SMTP.h"

 

#ifdef _DEBUG

#undef THIS_FILE

static char THIS_FILE[]=__FILE__;

#define new DEBUG_NEW

#endif

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved