#include "StdAfx.h" #include "SMTPMailConnect.h" CNEWSMTPMailConnect::CNEWSMTPMailConnect(void) { } CNEWSMTPMailConnect::~CNEWSMTPMailConnect(void) { } BOOL CNEWSMTPMailConnect::Connect( LPCTSTR lpszHostDomain, DWORD dwTimeout /*= 10000*/ ) throw() { CSimpleArray arrSMTP; _GetSMTPList(lpszHostDomain, arrSMTP); for(int i=0; i& arrSMTP ) { PDNS_RECORD pRec = NULL; if(DnsQuery(lpszHostDomain, DNS_TYPE_MX, DNS_QUERY_STANDARD, NULL, &pRec, NULL) == ERROR_SUCCESS) { PDNS_RECORD pRecOrig = pRec; while(pRec) { if(pRec->wType == DNS_TYPE_MX) arrSMTP.Add(pRec->Data.MX.pNameExchange); pRec = pRec->pNext; } DnsRecordListFree(pRecOrig,DnsFreeRecordList); } }