⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smtpconnection2.cpp

📁 Overview DSN-Less Connection dBASE Excel Text File Visual FoxPro Access database SQL Server Oracle M
💻 CPP
字号:
/*
	Copyright(C) Nishant Sivakumar (nish@voidnish.com)
	Please maintain this copyright notice if you distribute this file
	in original or modified form.
*/

#include "StdAfx.h"
#include "smtpconnection2.h"

BOOL CSMTPConnection2::Connect(LPCTSTR lpszHostDomain, 
							   DWORD dwTimeout /*= 10000*/) throw()
{
	CSimpleArray<CString> arrSMTP;
	_GetSMTPList(lpszHostDomain, arrSMTP);
	for(int i=0; i<arrSMTP.GetSize(); i++)
	{
		if(CSMTPConnection::Connect(arrSMTP[i], dwTimeout) == TRUE)
			return TRUE;
	}
	return FALSE;
}

void CSMTPConnection2::_GetSMTPList(LPCTSTR lpszHostDomain, 
								   CSimpleArray<CString>& 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);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -