我想写一个邮件接收程序,无奈连接后接收不到数据,请问哪里出了问题?
或者谁曾经写过类似的程序给我参考一下
char buf[1024];
socket->connectToHost(“202.113.16.11”, 110);
if(!socket->waitForConnected())
{
return false;
}
socket->read(buf, sizeof(buf));
for(int i = -3; i <= mailTotal; i++)
{
QString str;
if(i == -3)
{
str = "USER ";
sendStr(str + mailinfo->getLoginName());
}
else if(i == -2)
{
str = "PASS ";
sendStr(str + mailinfo->getPassword());
}
else if(i == -1)
{
str = "STAT";
sendStr(str);
}
else if(i > 0)
{
str = "UIDL ";
sendStr(str + i);
}
qint64 linelength = socket->read(buf, sizeof(buf));
if(linelength == -1) {socket->disconnect(); return false;}
if(buf[0] != '+' | buf[1] != 'O' | buf[2] != 'K')
{
socket->disconnect();
return false;
}
if(i == -1)
{
getMailState(buf, mailTotal, boxsize);
i++;
}
if(i > 0)
{
QString u = getUid(buf);
if(namelist.indexOf(u) != -1)
{
socket->disconnect();
return true;
}
str = "RETR ";
sendStr(str+i);
str = getAll();
mailanalyze = new mailAnalyze(str);
mailanalyze->load();
}
if(i == mailTotal)
{
socket->disconnect();
return true;
}
}
socket->disconnect();