lib poco と ssl 経由でメールを送信しようとしています。機能は私にとって十分であるため、非常に単純なサンプル コードを使用します。コードは機能しているので、彼にやってもらいたいのですが、残念ながら、メールを送信した後、CPU 負荷が 100% に上昇しました。これは毎回起こったので、コード内で間違いを犯したと思います。誰か私を助けるためのヒントを教えてくれませんか? どうもありがとう。
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;
}
}