#include "unicodeutils.h"\r
#include "hwsmtp.h"\r
#include "Windns.h"\r
+#include "Git.h"\r
\r
CPatch::CPatch()\r
{\r
\r
}\r
\r
+void CPatch::ConvertToArray(CString &to,CStringArray &Array)\r
+{\r
+ int start=0;\r
+ while(start>=0)\r
+ {\r
+ CString str=to.Tokenize(_T(";"),start);\r
+ if(!str.IsEmpty())\r
+ Array.Add(str);\r
+ }\r
+}\r
+\r
int CPatch::Send(CString &pathfile,CString &TO,CString &CC,bool bAttachment)\r
{\r
CSmtp mail;\r
GetNameAddress(this->m_Author,name,address);\r
\r
\r
+ CStringArray attchments,CCArray;\r
+ if(bAttachment)\r
+ {\r
+ attchments.Add(pathfile);\r
+ }\r
+ \r
+ ConvertToArray(CC,CCArray);\r
+\r
SendEmail(FALSE,pDnsRecord->Data.MX.pNameExchange,\r
- NULL,NULL,FALSE,address,TO,this->m_Author,TO,this->m_Subject,_T("Test"));\r
+ NULL,NULL,FALSE,address,TO,this->m_Author,TO,this->m_Subject,m_strBody,0,&attchments,&CCArray);\r
\r
DnsRecordListFree(pDnsRecord,DnsFreeRecordList);\r
\r
\r
PatchFile.Close();\r
\r
+ g_Git.StringAppend(&m_strBody,&m_Body[0],CP_ACP);\r
+ \r
+\r
}\r
\r
void CPatch::GetNameAddress(CString &in, CString &name,CString &address)\r
\r
return TRUE;\r
}\r
+BOOL CHwSMTP::SendBuffer(char *buff,int size)\r
+{\r
+ if(size<0)\r
+ size=strlen(buff);\r
+ if ( !m_bConnected )\r
+ {\r
+ m_csLastError.Format ( _T("Didn't connect") );\r
+ return FALSE;\r
+ }\r
\r
+ if ( m_SendSock.Send ( buff, size ) != size )\r
+ {\r
+ m_csLastError.Format ( _T("Socket send data failed") );\r
+ return FALSE;\r
+ }\r
+ \r
+ return TRUE;\r
+}\r
// ÀûÓÃsocket·¢ËÍÊý¾Ý£¬Êý¾Ý³¤¶È²»Äܳ¬¹ý10M\r
BOOL CHwSMTP::Send(LPCTSTR lpszData, ... )\r
{\r
return FALSE;\r
}\r
\r
+ if(!Send ( csAttach ))\r
+ return FALSE;\r
+\r
CFile file;\r
+ CStringA filedata;\r
try\r
{\r
if ( !file.Open ( lpszFileName, CFile::modeRead ) )\r
}\r
UINT nFileLen = file.Read ( pBuf, dwFileSize );\r
CBase64 Base64Encode;\r
- csTemp = Base64Encode.Encode ( pBuf, nFileLen );\r
- csAttach += csTemp;\r
- csAttach += _T("\r\n\r\n");\r
+ filedata = Base64Encode.Encode ( pBuf, nFileLen );\r
+ filedata += _T("\r\n\r\n");\r
}\r
catch ( CFileException e )\r
{\r
return FALSE;\r
}\r
\r
+ if(!SendBuffer( filedata.GetBuffer() ))\r
+ return FALSE;\r
+\r
+ csAttach.Empty();\r
csTemp.Format ( _T("--%s\r\n"), m_csPartBoundary );\r
csAttach += csTemp;\r
\r