501 5.5.4 Invalid domain name

来源:互联网 发布:最火的js框架 编辑:程序博客网 时间:2024/04/29 04:40

环境:

服务器端:64bit cpu,win server2008 r2,exchange 2010

客户端:vs2008,vc++

代码:

sprintf_s(m_cSendBuff,"HELO []\r\n");send(sock,m_cSendBuff,strlen(m_cSendBuff),0);//开始会话memset(m_cReceiveBuff, 0, sizeof(m_cReceiveBuff));recv(sock,m_cReceiveBuff,1024,0);if(m_cReceiveBuff[0]!='2' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='0'){return false;}

问题:recv 返回501 5.5.4 Invalid domain name


百度,看到一篇文章,Literally IPv6,说exchange 不遵守ipv6造成的问题,于是

1.关闭ipv6:

找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]
新建 DWORD (32-位)值 DisabledComponents 值为 ffffffff (16进制) 重启后生效

2.HELO []里添加ip

sprintf_s(m_cSendBuff,"HELO [%s]\r\n", m_sMailInfo.m_pcIPAddr);send(sock,m_cSendBuff,strlen(m_cSendBuff),0);//开始会话memset(m_cReceiveBuff, 0, sizeof(m_cReceiveBuff));recv(sock,m_cReceiveBuff,1024,0);if(m_cReceiveBuff[0]!='2' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='0'){return false;}

搞定

参考:

http://blog.sina.com.cn/s/blog_6876fb5c0101o85g.html

http://labs.apnic.net/blabs/?p=309





1 0