【发布时间】:2014-07-14 18:48:48
【问题描述】:
我正在开发一个 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");
}
【问题讨论】:
-
LIST 命令列出邮箱。它不列出特定邮箱的内容。我建议您首先使用诸如“openssl s_client -connect imap.gmail.com:993 -crlf”之类的命令以交互方式使用 IMAP,当您知道如何阅读邮件时,您可以编写一个程序来执行此操作。您可能会发现 RFC3501 或 kmail 源代码很有帮助。
-
除了它太宽泛之外,我想知道您的图标是否侵犯了 Qt 项目的版权。你有没有用Digia等仔细检查过?当时我们在稍微修改它时遇到了一些麻烦,而且您似乎也没有使用“香草”标志。哦,根据您的徽标,该项目称为
Qt(Q 工具包)而不是QT(快速时间)。