Изпращане/Получаване на имейли с HTML съдържание чрез безплатна C++ библиотека

Отворена C++ библиотека за имейли за изпращане и получаване с поддръжка на модерно удостоверяване, MIME форматиране, прикачени файлове, SMTP, HTML съдържание и SSL/TLS криптиране.

Какво е SimpleMail?

В съвременната C++ разработка, ефективното и сигурно управление на имейл функционалността е от съществено значение за широк спектър от приложения — от системи за известия до потребителски верификации. Докато много езици от високо ниво предлагат богати библиотеки за обработка на SMTP имейли, C++ исторически е липсвало истинско леко и просто решение. SimpleMail е C++ библиотека, изградена върху модулите QtCore и QtNetwork. Тя предоставя прост интерфейс за изпращане на MIME‑съвместими имейл съобщения чрез SMTP сървъри, включително поддръжка на SSL/TLS криптиране, SMTP удостоверяване, текстово и HTML съдържание, прикачени файлове, множество получатели (To, Cc, Bcc) и др. Устройства, които следят условия (например температурни сензори или шлюзове за умни домове), могат да използват SimpleMail, за да известяват потребителите при аномалии.

SimpleMail е минималистична, но мощна библиотека, която позволява на C++ приложенията да изпращат имейли с прикачени файлове, HTML съдържание и други чрез SMTP. Поддържана в GitHub, SimpleMail е Qt‑базирана SMTP клиентска библиотека, проектирана за лесна употреба, гъвкавост и стабилност. Независимо дали създавате настолно приложение или сървърен демон на C++, библиотеката предлага чист и практичен интерфейс за изпращане на имейли. Ако използвате рамки като Cutelyst или Wt, SimpleMail естествено се вписва за изпращане на известия към потребители или транзакционни имейли. SimpleMail е истинско облекчение за C++ разработчиците, желаещи да интегрират имейл възможности директно в своите приложения. С малък отпечатък, силна поддръжка на съвременни имейл протоколи и безпроблемна интеграция с Qt, тя предлага точно това, което много C++ разработчици са чакали.

Previous Next

Започване с SimpleMail

Препоръчителният начин за инсталиране на SimpleMail е чрез GitHub. Моля, използвайте следната команда за безпроблемна инсталация.

инсталиране на SimpleMail чрез GitHub

git clone https://github.com/cutelyst/simple-mail.git

Създаване на HTML имейл чрез C++ API

Отворената библиотека SimpleMail поддържа изпращане на имейли както с обикновен текст, така и с HTML съдържание, позволявайки по-богато форматиране. Можете да зададете HTML тяло за визуално привлекателни имейли, като същевременно предоставяте алтернатива с обикновен текст за клиенти, които не поддържат HTML, или за потребители, които го предпочитат. Библиотеката улеснява изпращането на форматирани имейли с изображения или персонализирани стилове, тъй като позволява HTML съдържание във вашето съобщение. Следният кодов откъс показва как софтуерните разработчици могат да изпратят HTML имейл с вградени изображения.

Как да изпратите HTML имейл с вградени изображения чрез C++ API?

#include 

int main() {
    SimpleMail::Mailer mailer("smtp.gmail.com", 587);
    mailer.setUsername("your-email@gmail.com");
    mailer.setPassword("your-password");

    SimpleMail::Mail mail;
    mail.setSender("your-email@gmail.com");
    mail.addTo("recipient@example.com");
    mail.setSubject("HTML Email with Image");

    // HTML content with an embedded image
    mail.setBody(
        "

Welcome!

" "

This is an HTML email with an inline image:

" "Company Logo", SimpleMail::Mail::BodyType::Html ); // Attach an image and reference it in HTML using CID mail.addAttachment("logo.png", "logo", "image/png"); if (mailer.sendMail(mail)) { std::cout << "HTML email sent successfully!" << std::endl; } else { std::cerr << "Error: " << mailer.lastError() << std::endl; } return 0; }

SMTP поддръжка с удостоверяване

Отворената библиотека SimpleMail предоставя пълна поддръжка за SMTP удостоверяване в C++ приложения. Библиотеката поддържа както обикновени, така и login методи за удостоверяване. Това осигурява съвместимост с повечето SMTP сървъри, включително Gmail, Outlook и персонализирани сървъри. Ето полезен кодов откъс, който показва колко лесно C++ разработчиците могат да конфигурират SMTP настройки, включително STARTTLS върху порт 587.

Как да конфигурирате SMTP настройки в C++ приложения?

SimpleMail::Sender sender;
sender.setHost("smtp.example.com");
sender.setPort(587);
sender.setConnectionType(SimpleMail::Sender::TlsConnection);
sender.setUser("your-email@example.com");
sender.setPassword("your-password");

Изпращане на имейли с прикачени файлове чрез C++

Прикачването на файлове към вашите имейли е често срещано изискване, а SimpleMail се справя с него безпроблемно. Библиотеката улеснява създаването на нови имейли и прикачването на файлове към тях с няколко реда код. Тя се грижи за кодирането на прикачения файл и задаването на подходящите MIME типове. Разработчиците могат да посочат пътя до файла и, по желание, персонализирано име за прикачения файл. Следният пример показва как софтуерните разработчици могат да изпратят имейл с прикачени файлове чрез C++ API.

Как да изпратите имейл съобщение с прикачени файлове чрез C++ библиотека?

#include 

int main() {
    SimpleMail::Mailer mailer("smtp.example.com", 465);
    mailer.setUsername("user@example.com");
    mailer.setPassword("password");
    mailer.setSsl(true); // Enable SSL for secure connection

    SimpleMail::Mail mail;
    mail.setSender("user@example.com");
    mail.addTo("client@example.com");
    mail.setSubject("Invoice Attached");
    mail.setBody("Please find the attached invoice.");

    // Attach a PDF file
    mail.addAttachment("/path/to/invoice.pdf", "invoice.pdf", "application/pdf");

    if (mailer.sendMail(mail)) {
        std::cout << "Email with attachment sent!" << std::endl;
    } else {
        std::cerr << "Error: " << mailer.lastError() << std::endl;
    }

    return 0;
}

По-добра сигурност с SSL/TLS поддръжка

Сигурността е от първостепенно значение при работа с имейли. Библиотеката SimpleMail поддържа сигурни връзки към SMTP сървъри, използвайки SSL (Secure Sockets Layer) и TLS (Transport Layer Security). При конфигуриране на SmtpServer можете да зададете ConnectionType като Ssl или Tls, за да осигурите криптирана комуникация с пощенския сървър. Това защитава съдържанието на имейла и данните за удостоверяване от прихващане.

 Български