netmapi.h

来自「A (hopefully) complete extended MAPI wra」· C头文件 代码 · 共 86 行

H
86
字号
#ifndef __NETMAPI_H__
#define __NETMAPI_H__

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// File: NetMAPI.h
// Description: Wrapper class for Extended MAPI, meant to be called by .NET 
//
// Copyright (C) 2006, Noel Dillabough
//
// This source code is free to use and modify provided this notice remains intact and that any enhancements
// or bug fixes are posted to the CodeProject page hosting this class for all to benefit.
//
// Usage: see the Codeproject article at http://www.codeproject.com/internet/CMapiEx.asp
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "MAPIEx.h"

extern "C" {

// Initialize and Terminate
AFX_EXT_CLASS BOOL MAPIInit();
AFX_EXT_CLASS void MAPITerm();

// Sending
AFX_EXT_CLASS BOOL MAPICreateMessage(LPCTSTR szSubject,LPCTSTR szBody,int nPriority=IMPORTANCE_NORMAL);
AFX_EXT_CLASS BOOL MAPIAddRecipient(LPCTSTR szEmail,int nType=MAPI_TO);
AFX_EXT_CLASS BOOL MAPIAddAttachment(LPCTSTR szPath);
AFX_EXT_CLASS BOOL MAPISend();

// Receiving
AFX_EXT_CLASS BOOL MAPIGetContents();
AFX_EXT_CLASS BOOL MAPIGetNextMessage(BOOL bUnreadOnly);
AFX_EXT_CLASS void MAPIGetSenderName(LPTSTR sz,int nMaxLength);
AFX_EXT_CLASS void MAPIGetSenderEmail(LPTSTR sz,int nMaxLength);
AFX_EXT_CLASS void MAPIGetSubject(LPTSTR sz,int nMaxLength);
AFX_EXT_CLASS int MAPIGetBodyLength();
AFX_EXT_CLASS void MAPIGetBody(LPTSTR sz,int nMaxLength);
AFX_EXT_CLASS int MAPIGetAttachmentCount(); 
AFX_EXT_CLASS BOOL MAPISaveAttachments(LPCTSTR szFolder,int nIndex=-1); 
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CNetMAPI

class CNetMAPI
{
public:
	CNetMAPI();
	~CNetMAPI();

// Attributes
protected:
	CMAPIEx m_in;
	CMAPIEx m_out;
	CMAPIMessage m_message;

// Operations
public:
	BOOL Init();
	void Term();

	// Sending 
	BOOL CreateMessage(LPCTSTR szSubject,LPCTSTR szBody,int nPriority);
	BOOL AddRecipient(LPCTSTR szEmail,int nType);
	BOOL AddAttachment(LPCTSTR szPath);
	BOOL Send();

	// Receiving
	BOOL GetContents();
	BOOL GetNextMessage(BOOL bUnreadOnly);
	void GetSenderName(LPTSTR sz,int nMaxLength);
	void GetSenderEmail(LPTSTR sz,int nMaxLength);
	void GetSubject(LPTSTR sz,int nMaxLength);
	int GetBodyLength();
	void GetBody(LPTSTR sz,int nMaxLength);
	int GetAttachmentCount(); 
	BOOL SaveAttachments(LPCTSTR szFolder,int nIndex); 

protected:
	void CopyString(LPTSTR szDest,LPCTSTR szSrc,int nMaxLength);
};

#endif

⌨️ 快捷键说明

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