Poco останавливается после SMTPClientSession.login

Я только начал с библиотеки Poco и попытался создать почтовую программу (о которой я практически ничего не знал). Ниже приведен мой код (могут быть и другие проблемы, кроме той, с которой я сталкивался до сих пор, но я только начал над ней работать)

    int main(int argc, char** argv)
{
    Poco::Net::SocketAddress add("smtp.gmail.com:465");
    Poco::Net::StreamSocket sock(add);
    Poco::Net::SMTPClientSession sess(sock);
    std::cout << "-";
    sess.login(
            "gmail.com",
            Poco::Net::SMTPClientSession::AUTH_LOGIN,
            "----",
            "----"
    );
    Poco::Net::MailMessage msg;
    Poco::Net::MailRecipient resp(Poco::Net::MailRecipient::PRIMARY_RECIPIENT,"[email protected]");
    msg.addRecipient(resp);
    std::string content("HELP SOS");
    msg.encodeWord(content);
    std::cout << msg.getContent() << "-";
}

Когда я захожу в отладчик, он работает нормально, пока не доходит до sess.login, а затем внезапно исчезает маленькая полоска, представляющая меня в коде, но программа продолжает работать (у меня недостаточно опыта, чтобы понять, что это значит). Ничего из того, что я вставляю, на самом деле не печатается, отладчик просто проходит эту строку, но ничего не появляется. Через некоторое время это появляется:

terminate called throwing an exception

Так что же происходит?

Ответы на вопрос(2)

Ваш ответ на вопрос