BOOL CSMTP::prepare_header(MailHeader * msg) { CTime currentDate = GetCurrentTime(); ASSERT( msg != NULL ); CString sTo; CString sDate; CString sSubject = msg->Subject; CString sMessageId = ""; CString sSender = msg->From.Left(msg->From.Find("@")); sMessageId.Format("<%s@%s>",currentDate.Format("%d%m%y.%H%M%S"),sSender); CString sHeader = ""; msg->Date = GetCurrentTimeStr();//currentDate.Format("%a, %d %b %y %H:%M:%S %Z"); // Format: Mon, 01 Jun 2010 01:10:30 GMT sDate = msg->Date; sHeader.Format( "Date: %s\r\n"\ "From: %s\r\n"\ "To: %s\r\n"\ "Subject: %s\r\n" "Message-ID: %s\r\n", (LPCTSTR)sDate, (LPCTSTR)msg->From, (LPCTSTR)msg->To, (LPCTSTR)sSubject, (LPCTSTR)sMessageId); return TRUE; }
void CSMTPClient::CloseSocket() { CString message; message.Format("%s - SMTP connection (ID=%d) closed", GetCurrentTimeStr(), smtpProcessId); this->m_parrent->WriteLog(message); Close(); m_mailHdr->InsertMail(m_mailHdr); }
void CSMTPClient::OnClose(int nErrorCode) { //phuc add 20101123 CString message; message.Format(_T("%s - SMTP connection (ID=%d) closed"), GetCurrentTimeStr(), smtpProcessId); m_parrent->WriteLog(message); //end phuc add 20101123 CAsyncSocket::OnClose(nErrorCode); //phuc add 20101123 delete this; //end phuc add 20101123 }
BOOL CSMTP::SendMessage(MailHeader * msg) { ASSERT( msg != NULL ); msg->Date = GetCurrentTimeStr(); if( !m_Connected ) { m_Error = _T( "Must be connect" ); AfxMessageBox(_T(m_Error)); return FALSE; } if( FormatMailMessage( msg ) == FALSE ) { return FALSE; } if( transmit_message( msg ) == FALSE ) { return FALSE; } return TRUE; }
VOID NdPerfLog(__in LPCWSTR logfile, __in __format_string LPCWSTR fmt, ...) { va_list argList; va_start(argList, fmt); WCHAR szMsg[4096]; StringCchVPrintfW(szMsg, _countof(szMsg), fmt, argList); va_end(argList); //MSG(동기화 추가); HANDLE hFile = CreateFile( logfile, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if (hFile == INVALID_HANDLE_VALUE) { _stprintf_s(szMsg, L"Cannot create a log file. [errcode: %d][%s]\n", GetLastError(), logfile); OutputDebugString(szMsg); } else { (VOID)SetFilePointer(hFile, 0, 0, FILE_END); std::string s; s.append(ToAnsiStr(GetCurrentTimeStr().c_str())); s.append(" "); s.append(ToAnsiStr(szMsg)); s.append(""); DWORD dwWritten; (VOID)WriteFile(hFile, s.c_str(), (DWORD)s.size(), &dwWritten, 0); CloseHandle(hFile); } }