使用IMAP4的QT电子邮件客户端

时间:2014-07-11 20:55:12

标签: qt imap

我正在开发一个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");

}

2 个答案:

答案 0 :(得分:1)

您显然不熟悉IMAP协议,因此如果您希望能够有效地使用协议,则需要阅读RFC3501

我还建议您查看我的博文IMAP: Downloading emails,以便快速启动并运行。

LIST命令将列出您帐户中的文件夹。您需要在文件夹中下载电子邮件或查看其元数据FETCH Command。再次,阅读RFC以了解它提供的内容。通常希望您在询问Stack Overflow之前完成了您的研究。

答案 1 :(得分:1)

编写IMAP客户端远非微不足道。您是否考虑过使用一些用Qt编写的现有IMAP库?我当然可以推荐Trojitá的代码或KDE的IMAP代码。