我正在开发一个QT程序,它将检查来自gmail的新邮件并使用IMAP4协议下载它们。我无法编写命令来显示收件箱中的邮件。请帮我。以下是我的代码示例。
socket->connectToHostEncrypted("imap.gmail.com", 993);
if(!socket->waitForConnected(50000)){
qDebug()<<"Error:"<<socket->errorString();
}
}
void MySocket::connected(){
qDebug()<<"**********\nconnected....\n*********";
QByteArray byteArray("a001 LOGIN username password");
socket->write(byteArray);
socket->write("\r\n");
socket->waitForReadyRead();
byteArray.clear();
byteArray.append("A002 LIST inbox");
socket->write(byteArray);
socket->write("\r\n");
}
答案 0 :(得分:1)
您显然不熟悉IMAP协议,因此如果您希望能够有效地使用协议,则需要阅读RFC3501。
我还建议您查看我的博文IMAP: Downloading emails,以便快速启动并运行。
LIST命令将列出您帐户中的文件夹。您需要在文件夹中下载电子邮件或查看其元数据FETCH Command。再次,阅读RFC以了解它提供的内容。通常希望您在询问Stack Overflow之前完成了您的研究。
答案 1 :(得分:1)
编写IMAP客户端远非微不足道。您是否考虑过使用一些用Qt编写的现有IMAP库?我当然可以推荐Trojitá的代码或KDE的IMAP代码。