Я использую библиотеку POCO на C++ (1.5.2), и мне интересно, можно ли отправить HTML-код по почте.
Это код, который я использую для отправки электронной почты (через мой gmail):
#include <iostream>
#include <string>
#include <Poco\Net\AcceptCertificateHandler.h>
#include <Poco\Net\FilePartSource.h>
#include <Poco\Net\InvalidCertificateHandler.h>
#include <Poco\Net\MailMessage.h>
#include <Poco\Net\NetException.h>
#include <Poco\Net\SecureSMTPClientSession.h>
#include <Poco\Net\SSLManager.h>
int main()
{
Poco::Net::MailMessage mailMessage;
mailMessage.addRecipient(Poco::Net::MailRecipient(Poco::Net::MailRecipient::PRIMARY_RECIPIENT, "[email protected]", "user1"));
mailMessage.setSubject("test");
mailMessage.setSender("[email protected]");
mailMessage.setContent("Hello, world!\r\n");
Poco::Net::SecureSMTPClientSession session("smtp.gmail.com", 587);
session.open();
Poco::Net::initializeSSL();
Poco::SharedPtr<Poco::Net::InvalidCertificateHandler> ptrHandler = new Poco::Net::AcceptCertificateHandler(false);
Poco::Net::Context::Ptr ptrContext = new Poco::Net::Context(Poco::Net::Context::CLIENT_USE, "", "", "", Poco::Net::Context::VERIFY_RELAXED, 9, true, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH");
Poco::Net::SSLManager::instance().initializeClient(NULL, ptrHandler, ptrContext);
try
{
session.login();
if(session.startTLS(ptrContext))
{
session.login(Poco::Net::SecureSMTPClientSession::AUTH_LOGIN, "[email protected]", "mypassword");
session.sendMessage(mailMessage);
}
session.close();
Poco::Net::uninitializeSSL();
}
catch(Poco::Net::SMTPException &e)
{
std::cout << e.message() << std::endl;
session.close();
Poco::Net::uninitializeSSL();
}
system("pause");
return 0;
}
Есть ли какое-нибудь решение для отправки изображения, например, в моем сообщении?
Спасибо !!