QList<QByteArray> SSOPasswordPlugin::getIMAPAuthentication(const QString &password, const QString &username, int serviceAuthentication) const { if (serviceAuthentication == QMail::PlainMechanism) { QByteArray user(username.toLatin1()); QByteArray pass(password.toLatin1()); return QList<QByteArray>() << QByteArray("AUTHENTICATE PLAIN ") + QByteArray(user + '\0' + user + '\0' + pass).toBase64(); } else { return QList<QByteArray>() << QByteArray("LOGIN") + ' ' + quoteIMAPString(username.toLatin1()) + ' ' + quoteIMAPString(password.toLatin1()); } }
QByteArray quoteIMAPString(const QByteArray& input) { return quoteIMAPString(QString::fromLatin1(input)).toLatin1(); }