我运行代码时出错。
以下是代码:
void smtp_listener::imapLogin(QString reply)
{
print_D(FUNC);
print_D(QString("this is "+reply+"well"));
if(reply.contains("OK"))
{
QString msg = QString("user %1").arg(user);
print_D(msg);
*t << msg <<"\r\r\n";
t->flush();
setState(POP3_Pass);
}
else
{
print_E("ERROR :"+reply,FUNC,__LINE__);
quitConn();
setState(POP3_Quit);
}
}
void smtp_listener::pop3Pass(QString reply)
{
print_D(FUNC);
print_D(QString("this is "+reply+" well"));
if(reply.contains("+OK"))
{
QString msg = QString("pass %1").arg(pass);
*t << msg <<"\r\n";
t->flush();
setState(POP3_Stat);
}
else
{
print_E("ERROR :"+reply,FUNC,__LINE__);
quitConn();
setState(POP3_Quit);
}
}
我调试后给出的错误:
[调试]“电子邮件帐户:已连接”。
[Debug]“void smtp_listener :: imapLogin(QString)”
[调试]“这是* OK Gimap准备好来自140.101.159.251 q2-v6mb85227685wrd的请求
好”
[调试]“用户[email protected]”
[Debug]“void smtp_listener :: pop3Pass(QString)”
[Debug]“这是用户BAD未知命令q2-v6mb85227685wrd
好”
“[错误]错误:用户BAD未知命令q2-v6mb85227685wrd
at func = void smtp_listener :: pop3Pass(QString)Line = 361“
[Debug]“void smtp_listener :: quitConn()”
[Debug]“void smtp_listener :: pop3Quit(QString)”
[Debug]“* BAD无效标签q2-v6mb85227685wrd
您正在使用POP3命令与IMAP服务器。它们不兼容,并且它们的语言非常不同。
例如,每个IMAP命令都有一个标记,并且使用LOGIN命令完成基本登录。它看起来像这样:
a001 LOGIN [email protected] "password"
如果要使用POP3,请在pop.gmail.com上连接pop3服务器,并在端口995上启用TLS。