怎么连不上网易邮箱的服务器呢

波波仔86 清华大学 程序员  2012-12-29 07:29:12
//添加配置消息
void CMyDlg::OnPeizhi()
{
// TODO: Add your control notification handler code here
set.DoModal(); //调用设置对话框
if(set.m_port>0&&set.m_port<100)
{
if(set.m_serveradd!=" ") //判断ip地址不能为空
{
addr.sin_family=AF_INET; //为地址结构中的成员变量赋值
addr.sin_port=htons(set.m_port); //为端口号赋值
addr.sin_addr.S_un.S_addr=inet_addr(set.m_serveradd.GetBuffer(1));
//将主机字节顺序的ip地址转换为网络字节顺序
s=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //创建套接字
if(connect(s,(sockaddr*) &addr,sizeof(addr)) ) //如果绑定成功
{
::SendMessage(statu,SB_SETTEXT,0,(long)"SMPT 服务器信息设置成功并已经连接服务器!");
GetDlgItem(IDC_SENDER)->EnableWindow(true);
GetDlgItem(IDC_RECVER)->EnableWindow(true);
GetDlgItem(IDC_SUBJECT)->EnableWindow(true);
GetDlgItem(IDC_SENDMAIL)->EnableWindow(true);
GetDlgItem(IDC_RECVMAIL)->EnableWindow(true);
GetDlgItem(IDC_MAILTEXT)->EnableWindow(true);
GetDlgItem(IDC_SENDER)->SetWindowText(" ");
}
else
{
MessageBox("请检查网络连接并重新配置服务器信息!");
}
/*
//改变按钮的状态
GetDlgItem(IDC_SENDER)->EnableWindow(true);
GetDlgItem(IDC_RECVER)->EnableWindow(true);
GetDlgItem(IDC_SUBJECT)->EnableWindow(true);
GetDlgItem(IDC_SENDMAIL)->EnableWindow(true);
GetDlgItem(IDC_RECVMAIL)->EnableWindow(true);
GetDlgItem(IDC_MAILTEXT)->EnableWindow(true);
GetDlgItem(IDC_SENDER)->SetWindowText(" ");
::SendMessage(statu,SB_SETTEXT,0,(long)"SMTP服务器设置成功并已经连接服务器!");
MessageBox("服务器的地址不能为空!"); //这个地方有问题,当服务器的地址为空的时候,但是输不出来
*/
}
else
{
MessageBox("服务器的地址不能为空!");
}
}
else
{
MessageBox("端口号的范围在(0~100)之间!");
}

//这个地方有错误可能服务器没有启动起来

char buf[4];
recv(s,buf,4,0); //接收响应的数据
if(atoi(buf)==121) //比较响应数据
{
MessageBox("服务器准备就绪!");
}
else
{
MessageBox("服务器启动服务失败!");
}

}
我用我的电脑输入 ping mail.163.com,返回的ip地址是121开头,而书上给的220,我都试过,还是连不上,端口号是25.

...全文
151 点赞 收藏 1
写回复
1 条回复
c1997sdn 2013年01月19日
不需要写具体的IP地址,直接用域名mail.163.com,然后使用域名解析函数, 让程序自己去查找解析啊
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7880

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告