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

📄 mailmessage.cpp

📁 根据SMTP邮件传输协议,编写的简单的发送邮件的测试程序!
💻 CPP
字号:
#include "MailMessage.h"

#include <assert.h>
MailMessage::MailMessage()
{
	
	
}


MailMessage::~MailMessage()
{
	
	
}


int MailMessage::GetNumRecipients()
{
	
		return m_Recipients.size();
}


bool MailMessage::GetRecipient( string& sEmailAddress, string& sFriendlyName, int nIndex /* = 0  */)
{
	
	
	CRecipient to;
	if( nIndex < 0 || nIndex > m_Recipients.size() )
		return false;
	to = m_Recipients[ nIndex ];
	sEmailAddress = to.m_sEmailAddress;
	sFriendlyName = to.m_sFriendlyName;
	return true;
}


bool MailMessage::GetFrom(string& szEmailAddress,string & szUserName)
{
	
	
	char* pszTemp  = new char[m_sFrom.length() + 1];
	strcpy(pszTemp,m_sFrom.c_str());
	*(pszTemp + m_sFrom.length()) = '\0';
	char* p = strstr(pszTemp,"<");
	if(p != NULL)
	{
		*p = '\0';
		szUserName = pszTemp;
		p ++;
		char* pszMail = p;			 
		char* p = strstr(pszMail,">");
		if( p == NULL )
		{
			return false;
		}
		*p = '\0';
			 			 
		szEmailAddress = pszMail;			 
		
	}
	else
	{
	
		szEmailAddress = pszTemp;
		char *pAt = strstr(pszTemp,"@");
		if(pAt != NULL)
		{
			*pAt = '\0';
			szUserName = pszTemp;

		}
		else
		{
			szUserName = "";
		}
		

		
	
	}
	delete [] pszTemp;
	return true;
	
}

bool MailMessage::AddRecipient( string szEmailAddress, string szFriendlyName /* = ""  */)
{
	
	assert(!szEmailAddress.empty());
//	assert( !szFriendlyName.empty() );
	CRecipient to;
	to.m_sEmailAddress = szEmailAddress;
	to.m_sFriendlyName = szFriendlyName;
	m_Recipients.push_back(to);
	return true;
}


bool MailMessage::AddMultipleRecipients( string szRecipients)
{
	
	char* buf;
//	uint pos;
//	uint start;
	string sEmail;
	string sFriendly;
	uint length;


	assert( !szRecipients.empty() );
	

	length =  szRecipients.length();
	buf = new char[ length + 1 ];	
	strcpy( buf, szRecipients.c_str() );
	 char *p;
	 int cnt = 0;
	 while((p = strtok(cnt ++ >0 ?NULL: buf,";")) != NULL)
	 {

		 char* pszTemp = new char[strlen(p) + 1];
		 strcpy(pszTemp,p);
		 *(pszTemp + strlen(p)) = '\0';		 
		 char* p = strstr(pszTemp,"<");
		 if(p != NULL)
		 {
			 *p = '\0';
			 sFriendly = pszTemp;
			  p ++;
			 char* pszMail = p;			 
			 char* p = strstr(pszMail,">");
			 if( p == NULL )
			 {
				 return false;
			 }
			 *p = '\0';
			 			 
			 sEmail = pszMail;			 
		 }

		 else
		 {
			 
		     sEmail = pszTemp;
			 char *pAt = strstr(pszTemp,"@");
			 if(pAt != NULL)
			 {
				 *pAt = '\0';
				 sFriendly = pszTemp;
				 
			 }
			 else
			 {
				 sFriendly = "";
			 }
			 
			 
		}
		 
		 delete [] pszTemp;
		 pszTemp = NULL;
		 AddRecipient( sEmail, sFriendly );
		 
	 }
	 delete[] buf;
	 return true;
}

⌨️ 快捷键说明

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