QwwSmtpClient released

I decided to release QwwSmtpClient I blogged about two months ago.

The sources are available for download: qwwsmtpclient.

Next to do is the “QNetworkAccessManager-like” API for easier handling…

If you have any comments about the library, feel free to leave them under this post. Any feedback is appreciated, especially that I didn’t have a chance to test the library in practice.

Tags: , , , ,

7 Responses to “QwwSmtpClient released”

  1. Dakon says:

    I found several things I also had problems with:

    -some mailserver send strange reply codes that are not in your list. Just look on the first number and decide with this.
    -the correct syntax is “RCPT TO:” and “MAIL FROM:”, i.e. no space between ‘:’ and ‘<‘

    If you want to discuss or test this find me in IRC on freenode.

    • wysota says:

      You are right about the syntax, I somehow missed it.

      About the reply codes – I’m not so convinced the first digit is enough. It only states if the error is permanent or not. I’ll have to check on that.

      Thanks for the feedback.

  2. Victor Y. Sklyar says:

    Hi, as I know you can speek russia…

    Добрый день. Я не знаю вашего email, поэтому извините что пишу сюда.

    Я считаю вас авторитетом в вопросах Qt и хочу попросить вас о помощи. Вопрос связан с Qt3 (к сожалению пока не могу перевести проект на Qt4, но это в планах) – на одном из блогов, я видел похожий вопрос (http://www.qtcentre.org/forum/f-qt-programming-2/t-qt3-mouseover-effect-in-qlistviewitem-1563.html/?highlight=onItem) и вы там оставили даже пример кода…

    Если это не очень сложно – ответьте мне на мой электронный ящик или сразу на GTalk (если у вас есть xmpp клиент)

    Заранее спасибо.

  3. wysota says:

    I can understand Russian however I haven’t spoken it for years and certainly not about topics related to computers :)

    I have just sent you an email.

  4. dimri0 says:

    This is rather private issue, so please delete this reply if you see it improper.

    As far as I know you understand Polish pretty well :)

    (Sory, ale nigdzie nie moge sie doszukac emaila do ciebie) Jestem studentem makro na EiTI, po wakacjach czeka mnie 3 semestr. Umiem programowac w c++, ale nie jest to poziom inzyniera informatyki – mimo to interesuje mnie qt i chcialbym zapisac sie na zajecia ktore prowadzisz (jak rozumiem chodzi tu o PAIN?). Czy moglbys mi doradzic jak biegly musze byc w c++ zeby te zajecia mialy dla mnie sens, czy wciaż jest tam qt (bo z tego co widze to tylko x-window i windows api) i czy wciaż to prowadzisz?

    PS: Tak czy siak mam zamiar w wakacje przerobic Foundations – szkoda, że nie ma tego wydanego w Polsce, bo chętnie doceniłbym pracę Johana i twoją :(

    • wysota says:

      > (Sory, ale nigdzie nie moge sie doszukac emaila do ciebie)

      Standardowy schemat adresów EiTI powinien zadziałać.

      > Umiem programowac w c++, ale nie jest to poziom inzyniera informatyki – mimo to interesuje mnie qt i chcialbym zapisac sie na zajecia ktore prowadzisz (jak rozumiem chodzi tu o PAIN?).

      Tak, PAIN.

      > Czy moglbys mi doradzic jak biegly musze byc w c++ zeby te zajecia mialy dla mnie sens,

      Trzeba umieć tworzyć klasy, rozumieć na czym polega programowanie obiektowe — dziedziczenie, metody wirtualne, przykrywanie i przeciążanie metod. Zapewne przyda się też umiejętność pracy z debuggerem w razie problemów z projektem.

      > czy wciaż jest tam qt (bo z tego co widze to tylko x-window i windows api) i czy wciaż to prowadzisz?

      Wykład traktuje o Xlib, WinAPI, MFC, Qt i .NET.

      > PS: Tak czy siak mam zamiar w wakacje przerobic Foundations – szkoda, że nie ma tego wydanego w Polsce, bo chętnie doceniłbym pracę Johana i twoją :(

      Jak dobrze pójdzie to na jesieni powinna się pojawić polska edycja tego tytułu.

  5. twain says:

    I can not send any email from windows XP. This same program under linux work propertly. I’m not receive any errors. My code is:

    if (!QSslSocket::supportsSsl()) {

    QMessageBox::information(0, "ERROR SSL",
    "ERROR SSL.");

    return;

    }

    this->connect(&client, SIGNAL(sslErrors(const QList &)), &client, SLOT(ignoreSslErrors()));

    client.connectToHost(Config::getEmailServer());

    qDebug() << "error:" << client.errorString();

    client.startTls();

    qDebug() << "error:" << client.errorString();

    client.authenticate(Config::getEmailUser(), Config::getEmailPass(), QwwSmtpClient::AuthLogin);

    qDebug() << "error:" <textReport->document()->toHtml() );

    client.sendMail(Config::getEmailFrom(), Config::getEmailTo(), email);

    qDebug() << "error:" << client.errorString();

    client.disconnectFromHost();

Leave a Reply to dimri0