OSDN Git Service

Fixed issue #124: Incorrect Date header in patch e-mail
authorFrank Li <lznuaa@gmail.com>
Mon, 27 Jul 2009 15:23:32 +0000 (23:23 +0800)
committerFrank Li <lznuaa@gmail.com>
Mon, 27 Jul 2009 15:23:32 +0000 (23:23 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Utils/HwSMTP.cpp

index 9068588..406f4b6 100644 (file)
@@ -208,11 +208,11 @@ BOOL CHwSMTP::SendSpeedEmail
                pNext=pDnsRecord;\r
                while(pNext)\r
                {\r
-               \r
-                       if(SendEmail(pNext->Data.MX.pNameExchange,NULL,NULL,false,\r
-                               lpszAddrFrom,to,lpszSubject,lpszBody,lpszCharSet,pStrAryAttach,pStrAryCC,\r
-                               25,pSend,lpszAddrTo))\r
-                               break;\r
+                       if(pNext->wType == DNS_TYPE_MX) \r
+                               if(SendEmail(pNext->Data.MX.pNameExchange,NULL,NULL,false,\r
+                                       lpszAddrFrom,to,lpszSubject,lpszBody,lpszCharSet,pStrAryAttach,pStrAryCC,\r
+                                       25,pSend,lpszAddrTo))\r
+                                       break;\r
                        pNext=pNext->pNext;\r
                }\r
                if(pNext == NULL)\r
@@ -960,23 +960,23 @@ CString FormatDateTime ( COleDateTime &DateTime, LPCTSTR pFormat )
        {\r
                return _T("");\r
        }\r
+\r
+       TCHAR *weeks[]={_T("Sun"),_T("Mon"),_T("Tue"),_T("Wen"),_T("Thu"),_T("Fri"),_T("Sat")};\r
+       TCHAR *month[]={_T("JAN"),_T("FEB"),_T("MAR"),_T("APR"),\r
+                                  _T("MAY"),_T("JUN"),_T("JUL"),_T("AUG"),\r
+                                  _T("SEP"),_T("OCT"),_T("NOV"),_T("DEC")};\r
        \r
-       struct tm tmTemp;\r
-       tmTemp.tm_sec   = ud.st.wSecond;\r
-       tmTemp.tm_min   = ud.st.wMinute;\r
-       tmTemp.tm_hour  = ud.st.wHour;\r
-       tmTemp.tm_mday  = ud.st.wDay;\r
-       tmTemp.tm_mon   = ud.st.wMonth - 1;\r
-       tmTemp.tm_year  = ud.st.wYear - 1900;\r
-       tmTemp.tm_wday  = ud.st.wDayOfWeek;\r
-       tmTemp.tm_yday  = ud.wDayOfYear - 1;\r
-       tmTemp.tm_isdst = 0;\r
+       TIME_ZONE_INFORMATION stTimeZone;\r
+       GetTimeZoneInformation(&stTimeZone);\r
        \r
        CString strDate;\r
-       LPTSTR lpszTemp = strDate.GetBufferSetLength(256);\r
-       _tcsftime(lpszTemp, strDate.GetLength(), pFormat, &tmTemp);\r
-       strDate.ReleaseBuffer();\r
-       \r
+       strDate.Format(_T("%s, %d %s %02d %d:%d:%d %c%04d")\r
+               ,weeks[ud.st.wDayOfWeek],\r
+               ud.st.wDay,month[ud.st.wMonth-1],ud.st.wYear%100,ud.st.wHour,\r
+               ud.st.wMinute,ud.st.wSecond,\r
+               stTimeZone.Bias>0?_T('-'):_T('+'),\r
+               abs(stTimeZone.Bias*10/6)\r
+               );\r
        return strDate;\r
 }\r
 \r