就是如何验证用户名和密码? // 验证用户名
sAuth = "bXl1c2VybmFtZQ\r\n"; User: myusername
m_wsSMTPServer.Send( (LPCTSTR)sAuth, sAuth.GetLength() );
if( !get_response(USERNAME_SUCCESS,false) )
{
AfxMessageBox("USERNAME FAILURE");
m_wsSMTPServer.Close();
return FALSE;
}
// 验证密码 Password:password
sAuth = "cGFzc3dvcmQ\r\n";
m_wsSMTPServer.Send( (LPCTSTR)sAuth, sAuth.GetLength() );
if( !get_response(PASSWORD_SUCCESS,false) )
{
CString sResponse = response_buf;
if(sResponse.Find("user")>0)
AfxMessageBox("User not exitst");
else if(sResponse.Find("Password"))
AfxMessageBox("Password incorrect");
m_wsSMTPServer.Close();
return FALSE;
}为什么我这里的用户名和密码都是正确的,但是服务器返回的时候却说我的密码错误?
sAuth = "bXl1c2VybmFtZQ\r\n"; User: myusername
m_wsSMTPServer.Send( (LPCTSTR)sAuth, sAuth.GetLength() );
if( !get_response(USERNAME_SUCCESS,false) )
{
AfxMessageBox("USERNAME FAILURE");
m_wsSMTPServer.Close();
return FALSE;
}
// 验证密码 Password:password
sAuth = "cGFzc3dvcmQ\r\n";
m_wsSMTPServer.Send( (LPCTSTR)sAuth, sAuth.GetLength() );
if( !get_response(PASSWORD_SUCCESS,false) )
{
CString sResponse = response_buf;
if(sResponse.Find("user")>0)
AfxMessageBox("User not exitst");
else if(sResponse.Find("Password"))
AfxMessageBox("Password incorrect");
m_wsSMTPServer.Close();
return FALSE;
}为什么我这里的用户名和密码都是正确的,但是服务器返回的时候却说我的密码错误?
theSender.Create();
char theBuf[1024]; CString theTemp;
CBase64 theCoder; CString theStr;
if (!(theSender.Connect(theDlg.theSmtp,25)))
{MessageBox("connect to server failed!"); return;}
int nResult=theSender.Receive(theBuf,1024);theBuf[nResult]='\0';
theStr=theBuf;
if (theStr.Left(3)!="220")
{MessageBox("server busy!"); theSender.Close();return;}
strcpy(theBuf,"HELO ");
gethostname(theBuf+5,1019); strcat(theBuf,"\r\n");
theSender.Send(theBuf,strlen(theBuf));
nResult=theSender.Receive(theBuf,1024); theBuf[nResult]='\0';
theStr=theBuf;
if (theStr.Left(3)!="250")
{MessageBox("server no response!"); theSender.Close();return;} theSender.Send("AUTH LOGIN\r\n",strlen("AUTH LOGIN\r\n"));
nResult=theSender.Receive(theBuf,1024); theBuf[nResult]='\0';
theStr=theBuf; if (theStr.Left(3)=="334")
{ theTemp=theCoder.Encode("UserName",strlen("UserName"));
theTemp+="\r\n";
theSender.Send((LPCTSTR)theTemp,theTemp.GetLength());
nResult=theSender.Receive(theBuf,1024); theBuf[nResult]='\0';
theTemp=theCoder.Encode('Password",strlen("Password"));
theTemp+="\r\n";
theSender.Send((LPCTSTR)theTemp,theTemp.GetLength());
nResult=theSender.Receive(theBuf,1024); theBuf[nResult]='\0';
theStr=theBuf;
if (theStr.Left(3)!="235")
{MessageBox("login failed!");theSender.Close();return;} }
{ theTemp=theCoder.Encode("UserName",strlen("UserName"));
theTemp+="\r\n";
theSender.Send((LPCTSTR)theTemp,theTemp.GetLength());
nResult=theSender.Receive(theBuf,1024); theBuf[nResult]='\0';
theTemp=theCoder.Encode('Password",strlen("Password"));
theTemp+="\r\n";
theSender.Send((LPCTSTR)theTemp,theTemp.GetLength());
nResult=theSender.Receive(theBuf,1024); theBuf[nResult]='\0';
theStr=theBuf;
if (theStr.Left(3)!="235")
{MessageBox("login failed!");theSender.Close();return;} }}
我发送邮件怎么知道邮件服务器的IP地址或者域名啊?例如:我在搜狐上有一个邮件帐号,但是我怎么知道搜狐的邮件服务器的IP地址呢?尽管我知道我的邮箱的用户名和密码,但是如果不知道搜狐的SMTP邮件服务器的IP
地址,我无法连接SMTP 邮件服务器,也就发不了邮件啊?
DNS解析。(MX 服务器)
但是令我困惑的是如何知道一个网站的ESMTP 服务器的IP地址?
也就是它的邮件服务器的地址呢?
// 为什么这个密码是正确的但是
// 服务器返回时却说我的密码是错误的?
CString sAuth = "cGFzc3dvcmQ\r\n";
m_wsSMTPServer.Send( (LPCTSTR)sAuth, sAuth.GetLength() );
if( !get_response(PASSWORD_SUCCESS,false) )
{
CString sResponse = response_buf;
if(sResponse.Find("user")>0)
AfxMessageBox("User not exitst");
else if(sResponse.Find("Password"))
AfxMessageBox("Password incorrect");
m_wsSMTPServer.Close();
return FALSE;
}