问题描述
程序可以运行但是连不上服务器,编译时不报错#include"StdAfx.h"#include".pop3.h"#include"MAPI.h"#defineCONNECTION_CHECK1#defineUSER_CHECK2#definePASSWORD_CHECK3#defineSTAT_CHECK4POP3::POP3(void):m_nNum(0),m_strErr(_T("")){m_Server.Create();}POP3::~POP3(void){m_Server.Close();}BOOLPOP3::Connect(void){return0;}intPOP3::GetNumofMail(void){returnm_nNum;}BOOLPOP3::Disconnect(void){return0;}BOOLPOP3::Connect(CString&host,CString&user,CString&pwd){charbuf[512];if(!m_Server.Connect(host,110)){m_strErr=_T("不能连接到邮件服务器");returnFALSE;}else{if(CheckResponse(CONNECTION_CHECK)==FALSE)returnFALSE;wsprintf(buf,"USER%srn",(LPCSTR)user);m_Server.Send(buf,(int)strlen(buf));if(CheckResponse(USER_CHECK)==FALSE)returnFALSE;wsprintf(buf,"PASS%srn",(LPCSTR)user);m_Server.Send(buf,(int)strlen(buf));if(CheckResponse(PASSWORD_CHECK)==FALSE)returnFALSE;returnTRUE;}}BOOLPOP3::CheckResponse(intrespType){charbuf[256]="";m_Server.Receive(buf,sizeof(buf));switch(respType){caseCONNECTION_CHECK:if(strnicmp(buf,"-ERR",4)==0){m_strErr=_T("错误的连接!");returnFALSE;}break;caseUSER_CHECK:if(strnicmp(buf,"-ERR",4)==0){m_strErr=_T("错误的用户名!");returnFALSE;}break;casePASSWORD_CHECK:if(strnicmp(buf,"-ERR",4)==0){m_strErr=_T("错误的密码!");returnFALSE;}break;caseSTAT_CHECK:if(strnicmp(buf,"-ERR",4)==0){m_strErr=_T("命令错误!");returnFALSE;}else{BOOLmailNum=TRUE;for(char*p=buf;*p!='';p++){if(*p=='t'||*p==''){if(mailNum==TRUE){m_nNum=atoi(p);mailNum=FALSE;}else{m_nNum=atoi(p);returnTRUE;}}}}break;}return0;}BOOLPOP3::Statistics(void){charbuf[512];wsprintf(buf,"STATrn");m_Server.Send(buf,(int)strlen(buf));if(CheckResponse(STAT_CHECK)==FALSE)returnFALSE;elsereturnTRUE;}CStringPOP3::GetErrMsg(void){returnm_strErr;}这是处理检测程序的类voidCcheckmailDlg::OnTimer(UINTnIDEvent){//TODO:在此添加消息处理程序代码和/或调用默认值POP3popServer;KillTimer(1);if(popServer.Connect(m_Server,m_User,m_Pwd)==FALSE)AfxMessageBox(popServer.GetErrMsg());elseif(popServer.Statistics()==FALSE)AfxMessageBox(popServer.GetErrMsg());else{m_Num=popServer.GetNumofMail();UpdateData(FALSE);SetTimer(1,m_nDuration*1000,NULL);}CDialog::OnTimer(nIDEvent);}这是执行的函数
解决方案
解决方案二:
没人能帮个忙吗-_-!
解决方案三:
你的测试邮件服务器是什么?光看代码能看出来错误么?
解决方案四:
就是测试有没有新邮件,现在端口可以打开了但是不能和服务器建立连接
解决方案五:
连接服务器失败?那你应该用GetLastError看看是什么原因。
解决方案六:
ok
解决方案七:
调试一下哪里错误,GetLastError看看什么错误
解决方案八:
该回复于2008-05-09 11:13:15被版主删除
解决方案九:
支持搂主,收藏