收到Gimap准备请求后出现imap错误

时间:2018-10-05 01:57:45

标签: imap

运行代码时出现错误。

以下是代码:

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)”

     

[Debug]“这是* OK,Gimap已准备好接受来自140.101.159.251的请求   q2-v6mb85227685wrd

     

好”

     

[调试]“用户chairouyih@gmail.com”

     

[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]“ *错误的无效标签q2-v6mb85227685wrd

1 个答案:

答案 0 :(得分:1)

您正在将POP3命令与IMAP服务器一起使用。它们不兼容,并且语言也非常不同。

首先,每个IMAP命令都有一个标记,并且基本登录是通过LOGIN命令完成的。看起来像这样:

a001 LOGIN user@gmail.com "password"

如果要使用POP3,请在pop.gmail.com上连接到pop3服务器,并在995端口上启用TLS。