Я пытаюсь отправить почту через lib poco и ssl. Я использую очень простой пример кода, потому что для меня достаточно функциональности. Код работает, поэтому он хочет, чтобы я его хотел, но, к сожалению, загрузка процессора увеличилась до 100% после отправки почты. Это случалось каждый раз, поэтому я думаю, что я ошибся внутри кода. Может ли кто-нибудь дать мне подсказку, чтобы помочь мне? Большое спасибо.100% загрузка процессора после отправки почты через poco и ssl
void <myclass>::sendMessageSSL() {
string to = "<toMail>";
string from = "<from>";
string subject = "Subject";
subject = MailMessage::encodeWord(subject, "UTF-8");
string content = "Content";
MailMessage message;
message.setSender(from);
message.addRecipient(MailRecipient(MailRecipient::PRIMARY_RECIPIENT, to));
message.setSubject(subject);
message.setContentType("text/plain; charset=UTF-8");
message.setContent(content, MailMessage::ENCODING_8BIT);
try {
SecureSMTPClientSession session(host_out, port_out);
session.open();
// Initialize the NetSSL library, as well as the underlying OpenSSL libraries
initializeSSL();
SharedPtr<InvalidCertificateHandler> 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 {
// TLS begins with an unsecured connection
session.login();
// Upgrades to secured connection once the information is sent
if (session.startTLS(ptrContext)) {
session.login(SMTPClientSession::AUTH_LOGIN, user, pass);
session.sendMessage(message);
}
session.close();
uninitializeSSL();
} catch (SMTPException &e) {
cerr << e.displayText() << endl;
session.close();
uninitializeSSL();
}
} catch (NetException &e) {
cerr << e.displayText() << endl;
}
}