?? mailmessage.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 + -