首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

为啥用POP3协议写邮件收发时一到PASS传送密码时就不成功啊

2012-08-02 
为什么用POP3协议写邮件收发时一到PASS传送密码时就不成功啊?C/C++ code//建立连接BOOL CPop::Connect(){c

为什么用POP3协议写邮件收发时一到PASS传送密码时就不成功啊?

C/C++ code
//建立连接BOOL CPop::Connect(){    char sUser[512];    char sPass[512];    memset(sUser, 0, 512);    memset(sPass, 0, 512);    if (m_bConnected)    {        return TRUE;    }    if (!m_wsPOP3Server.Create())    {        m_sError = _T("Unable to create the socket.");        return FALSE;    }    if (!m_wsPOP3Server.Connect(GetServerHostName(),GetPort()))    {        m_sError = _T("Unable to connect the Server");        m_wsPOP3Server.Close();        return FALSE;    }    if (!get_response(CONNECTION))    {        m_wsPOP3Server.Close();        return FALSE;    }    //sUser.Format("USER%s\r\n",GetUserName());    wsprintf (sUser, "USER %s\r\n", (LPCSTR)GetUserName());    m_wsPOP3Server.Send((LPCSTR)sUser, sizeof(sUser));    if (!get_response(IDENTIFICATION))    {        m_wsPOP3Server.Close();        return FALSE;    }    //sPass.Format("PASS%s\r\n",GetPassWord());    wsprintf (sPass, "PASS %s\r\n", (LPCSTR)GetPassWord());    m_wsPOP3Server.Send((LPCSTR)sPass, sizeof(sPass));//这个之后Receive为空    if (!get_response(AUTHENTIFICATION))    {        m_wsPOP3Server.Close();        return FALSE;    }    m_bConnected = TRUE;    return TRUE;}//获取相应BOOL CPop::get_response(UINT executed_action){    char buf[512];    memset(buf, 0, 512);    //int nChars = m_wsPOP3Server.Receive(response_buf, RESPONSE_BUFFER_SIZE);    int nChars = m_wsPOP3Server.Receive(buf, RESPONSE_BUFFER_SIZE);    if (SOCKET_ERROR == nChars)    {        m_sError = _T("Socket Error");        return FALSE;    }    //m_sResponse = response_buf;    m_sResponse = buf;    m_sResponse = m_sResponse.Left(nChars);    if (m_sResponse.Left(4) == "-ERR")    {        m_sError.Format("%s" ,error_table[executed_action]);        return FALSE;    }    return TRUE;}


[解决办法]
和邮件服务器进行交互应答时,只用ASCII码,不要使用UNICODE
只用数据类型 char
[解决办法]
你还没弄好啊,抱歉上次忘了发了,刚给你发过去了。

热点排行