------------->NSLOOKUP,有谁知道怎么实现,有控件也行! rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void email2dns(const char *szEmailAddr, unsigned char *szDnsName){ unsigned int i = 0; while (i < strlen(szEmailAddr)) { if ('@' == szEmailAddr) { strcpy(szDnsName, szEmailAddr + i + 1); return; } else { i++; } } return;}论坛上有很多人问如何查找MX服务器,我写了一个很简单的例子:先看看如何在命令行下发邮件:C:\Documents and Settings\EA>nslookup -type=mxDefault Server: dns.sn.cninfo.netAddress: 61.134.1.4> 163.comServer: dns.sn.cninfo.netAddress: 61.134.1.4Non-authoritative answer:163.com MX preference = 50, mail exchanger = m208.163.com163.com MX preference = 50, mail exchanger = m209.163.com163.com MX preference = 50, mail exchanger = m210.163.com163.com MX preference = 50, mail exchanger = m211.163.com163.com MX preference = 50, mail exchanger = m215.163.com163.com MX preference = 50, mail exchanger = m223.163.com163.com MX preference = 50, mail exchanger = m224.163.com163.com MX preference = 50, mail exchanger = m228.163.com163.com MX preference = 50, mail exchanger = m133.163.com163.com MX preference = 50, mail exchanger = m180.163.com163.com MX preference = 50, mail exchanger = m203.163.com163.com MX preference = 50, mail exchanger = m207.163.com163.com nameserver = ns2.nease.net163.com nameserver = ns.nease.netm133.163.com internet address = 202.108.44.133m180.163.com internet address = 202.108.44.180m203.163.com internet address = 202.108.44.203m207.163.com internet address = 202.108.44.207m208.163.com internet address = 202.108.44.208m209.163.com internet address = 202.108.44.209m210.163.com internet address = 202.108.44.210m211.163.com internet address = 202.108.44.211m215.163.com internet address = 202.108.44.215m223.163.com internet address = 202.108.44.223m224.163.com internet address = 202.108.44.224> exitC:\Documents and Settings\EA>telnet m207.163.com 25220 Coremail SMTP(Anti Spam) System (163com[20030606])HELO EA250 192.168.1.207MAIL FROM: <[email protected]>250 OkRCPT TO: <[email protected]>250 OkDATA354 End data with <CR><LF>.<CR><LF>mx test.250 Ok: queued as HsAXK4GLqEBBAKSh.1221 Bye然后下面是用DnsQuery函数查找MX服务器:#include <windns.h>char szMxName[50][255];DNS_RECORD *ppQueryResultsSet = NULL, *pQueryRec = NULL;int i = 0;char szDominAddr[30];DNS_STATUS statusDNS;statusDNS = DnsQuery_A(szDominAddr, DNS_TYPE_MX, DNS_QUERY_STANDARD, NULL, &ppQueryResultsSet, NULL);if(ERROR_SUCCESS == statusDNS){ for (pQueryRec = ppQueryResultsSet; pQueryRec; pQueryRec = pQueryRec->pNext) { if (pQueryRec->wType != DNS_TYPE_MX) { continue; } memset(szMxName, '\0', 255 * sizeof(char)); lstrcpyn(szMxName, pQueryRec->Data.MX.pNameExchange, 255); i++; }}这些只是比较重要的代码如果要发邮件的话,connect查找到的MX服务器25端口,然后用SMTP协议发邮件即可。 我需要的是根据墓地主机ip得到域名,或者根据墓地主机的域名得到ip,要源代码,或者可以使用的控件,分不够再加!最好是源代码 如何向MFC工程中插入图片并添加控件 动态增加按钮,按钮个数不确定,怎么给每个按钮填写响应事件 一个超基础的问题,C++类的问题 求ADO读取EXCEl数据完整过程。。。 分来了。怎么实现ListCtrlHeader拖动交换列 在哪里可以下载到免费的uinx? 中断应用程序执行并处理当前消息队列的消息,直到消息对列为NULL为止? word的doc文件,里面的内容具体是怎样的? 如何通过C++代码判断此时MYSQL的连接状态?求帮助,谢谢了 怎样自动捕捉网格啊? 如何使用程序用语句 添加modem 然后新建拨号连接? 我的数据库在存储时格式转换出现问题了!请各位大侠帮帮忙!!
{
unsigned int i = 0;
while (i < strlen(szEmailAddr))
{
if ('@' == szEmailAddr)
{
strcpy(szDnsName, szEmailAddr + i + 1);
return;
}
else
{
i++;
}
}
return;
}论坛上有很多人问如何查找MX服务器,我写了一个很简单的例子:
先看看如何在命令行下发邮件:
C:\Documents and Settings\EA>nslookup -type=mx
Default Server: dns.sn.cninfo.net
Address: 61.134.1.4
> 163.com
Server: dns.sn.cninfo.net
Address: 61.134.1.4
Non-authoritative answer:
163.com MX preference = 50, mail exchanger = m208.163.com
163.com MX preference = 50, mail exchanger = m209.163.com
163.com MX preference = 50, mail exchanger = m210.163.com
163.com MX preference = 50, mail exchanger = m211.163.com
163.com MX preference = 50, mail exchanger = m215.163.com
163.com MX preference = 50, mail exchanger = m223.163.com
163.com MX preference = 50, mail exchanger = m224.163.com
163.com MX preference = 50, mail exchanger = m228.163.com
163.com MX preference = 50, mail exchanger = m133.163.com
163.com MX preference = 50, mail exchanger = m180.163.com
163.com MX preference = 50, mail exchanger = m203.163.com
163.com MX preference = 50, mail exchanger = m207.163.com
163.com nameserver = ns2.nease.net
163.com nameserver = ns.nease.net
m133.163.com internet address = 202.108.44.133
m180.163.com internet address = 202.108.44.180
m203.163.com internet address = 202.108.44.203
m207.163.com internet address = 202.108.44.207
m208.163.com internet address = 202.108.44.208
m209.163.com internet address = 202.108.44.209
m210.163.com internet address = 202.108.44.210
m211.163.com internet address = 202.108.44.211
m215.163.com internet address = 202.108.44.215
m223.163.com internet address = 202.108.44.223
m224.163.com internet address = 202.108.44.224
> exit
C:\Documents and Settings\EA>telnet m207.163.com 25
220 Coremail SMTP(Anti Spam) System (163com[20030606])
HELO EA
250 192.168.1.207
MAIL FROM: <[email protected]>
250 Ok
RCPT TO: <[email protected]>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
mx test
.
250 Ok: queued as HsAXK4GLqEBBAKSh.1
221 Bye
然后下面是用DnsQuery函数查找MX服务器:
#include <windns.h>
char szMxName[50][255];
DNS_RECORD *ppQueryResultsSet = NULL,
*pQueryRec = NULL;
int i = 0;
char szDominAddr[30];
DNS_STATUS statusDNS;
statusDNS = DnsQuery_A(szDominAddr, DNS_TYPE_MX, DNS_QUERY_STANDARD, NULL, &ppQueryResultsSet,
NULL);
if(ERROR_SUCCESS == statusDNS)
{
for (pQueryRec = ppQueryResultsSet; pQueryRec; pQueryRec = pQueryRec->pNext)
{
if (pQueryRec->wType != DNS_TYPE_MX)
{
continue;
}
memset(szMxName, '\0', 255 * sizeof(char));
lstrcpyn(szMxName, pQueryRec->Data.MX.pNameExchange, 255);
i++;
}
}
这些只是比较重要的代码
如果要发邮件的话,connect查找到的MX服务器25端口,然后用SMTP协议发邮件即可。