Poco stops after SMTPClientSession.login

前端 未结 2 539
别那么骄傲
别那么骄傲 2020-12-21 15:02

I just started with the Poco library and tried to create an email program (Which I knew virtually nothing about). The following is my code (There may be other problems with

2条回答
  •  长情又很酷
    2020-12-21 15:30

    Yes, so I struggled with login(), trying to use smtp.gmail.com. This is the excerpt of the communication with the SSL session that made it work.

    string host("smtp.gmail.com")
    Poco::UInt16 port = 587;
    
    SecureSMTPClientSession session(host, port);
    
    session.open();
    
    Poco::Net::initializeSSL();
    
    SharedPtr ptrHandler = new AcceptCertificateHandler(false);
    
    Context::Ptr ptrContext = new Context(Context::CLIENT_USE, "", "", "", Context::VERIFY_RELAXED, 9, true, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH");
    
    SSLManager::instance().initializeClient(0, ptrHandler, ptrContext);
    
    try
    {
      // SSL
      session.login();
      if (session.startTLS(ptrContext))
      {
        session.login(SMTPClientSession::AUTH_LOGIN, "user@gmail.com", "yourpassword");
        session.sendMessage(message);
      }
      session.close();
      Poco::Net::uninitializeSSL();
    }
    catch (SMTPException &e)
    {
      cout << e.message() << endl;
      session.close();
      Poco::Net::uninitializeSSL();
      return 0;
    }
    

    Original source:

    http://www.axistasoft.sg/tutorials/cpp/poco/item/sending-email-messages-using-smtp-protocol

提交回复
热议问题