Exemplo n.º 1
0
//
// 尝试所有的DNS来查询邮局服务器地址
//
BOOL GetMX (
			char *pszQuery,							// 要查询的域名
			OUT t_Ary_MXHostInfos &Ary_MXHostInfos	// 输出 Mail Exchange 主机名
			)
{
	CNetAdapterInfo m_NetAdapterInfo;
	m_NetAdapterInfo.Refresh ();
	int nNetAdapterCount = m_NetAdapterInfo.GetNetCardCount();
	for ( int i=0; i<nNetAdapterCount; i++ )
	{
		COneNetAdapterInfo *pOneNetAdapterInfo = m_NetAdapterInfo.Get_OneNetAdapterInfo ( i );
		if ( pOneNetAdapterInfo )
		{
			int nDNSCount = pOneNetAdapterInfo->Get_DNSCount ();
			for ( int j=0; j<nDNSCount; j++ )
			{
				CString csDNS = pOneNetAdapterInfo->Get_DNSAddr ( j );
				if ( GetMX ( pszQuery, csDNS.GetBuffer(0), Ary_MXHostInfos ) )
				{
					return TRUE;
				}
			}
		}
	}

	return FALSE;
}
Exemplo n.º 2
0
int Api::_GetMX(Object* target){
  return GetMX(target);
}