1. Produkty
  2.   E-mail
  3.   C++
  4.   SimpleMail
 
  

Send/Receive Emails with HTML Content via Free C++ Library

Open Source C++ Email Library for Emails Sending & Receiving with Support for Modern Authentication, MIME Formatting, Attachments, SMTP, HTML Content, and SSL/TLS Encryption.

Co to jest SimpleMail?

W świecie nowoczesnego rozwoju w C++, efektywne i bezpieczne obsługiwanie funkcji e-mail jest kluczowe dla wielu zastosowań — od systemów powiadomień po weryfikację użytkowników. Choć wiele języków wysokiego poziomu oferuje rozbudowane biblioteki do obsługi e-maili SMTP, C++ historycznie brakowało naprawdę lekkiego i prostego rozwiązania. SimpleMail to biblioteka C++ oparta na modułach QtCore i QtNetwork. Zapewnia prosty interfejs do wysyłania wiadomości e-mail zgodnych z MIME poprzez serwery SMTP, w tym obsługę szyfrowania SSL/TLS, uwierzytelniania SMTP, treści w formacie zwykłego tekstu i HTML, załączników, wielu odbiorców (Do, DW, UDW) i tak dalej. Urządzenia monitorujące warunki (np. czujniki temperatury lub bramki inteligentnego domu) mogą używać SimpleMail do powiadamiania użytkowników o nieprawidłowościach.

SimpleMail jest minimalistyczną, a jednocześnie potężną biblioteką, która pozwala aplikacjom C++ wysyłać e-maile z załącznikami, treścią HTML i nie tylko poprzez SMTP. Utrzymywana na GitHub, SimpleMail to biblioteka klienta SMTP oparta na Qt, zaprojektowana pod kątem łatwości użycia, elastyczności i niezawodności. Niezależnie od tego, czy tworzysz aplikację desktopową, czy demona po stronie serwera w C++, biblioteka zapewnia czysty i praktyczny interfejs do wysyłania e-maili. Jeśli używasz frameworków takich jak Cutelyst lub Wt, SimpleMail naturalnie pasuje do wysyłania powiadomień użytkowników lub e-maili transakcyjnych. SimpleMail to powiew świeżości dla programistów C++ szukających integracji funkcji e-mail bezpośrednio w swoich aplikacjach. Dzięki małemu rozmiarowi, silnemu wsparciu nowoczesnych protokołów e-mail oraz płynnej integracji z frameworkiem Qt, oferuje dokładnie to, na co czekali liczni programiści C++.

Previous Next

Rozpoczęcie pracy z SimpleMail

Zalecany sposób instalacji SimpleMail to użycie GitHub. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.

zainstaluj SimpleMail przez GitHub

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

Tworzenie e-maila HTML za pomocą API C++

Otwartoźródłowa biblioteka SimpleMail obsługuje wysyłanie e-maili zarówno w formacie zwykłego tekstu, jak i HTML, umożliwiając bogatsze formatowanie wiadomości. Możesz określić ciało w HTML, aby uzyskać atrakcyjne wizualnie e-maile, jednocześnie zapewniając alternatywny tekst w zwykłym formacie dla klientów poczty, które nie obsługują HTML lub dla użytkowników, którzy wolą taką wersję. Biblioteka ułatwia wysyłanie sformatowanych e-maili z obrazami lub własnymi stylami, ponieważ pozwala na umieszczanie treści HTML w wiadomości. Poniższe fragmenty kodu pokazują, jak programiści mogą wysłać e-mail HTML z osadzonymi obrazami.

Jak wysłać e-mail HTML z osadzonymi obrazami za pomocą API C++?

#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; }

Obsługa SMTP z uwierzytelnianiem

Otwartoźródłowa biblioteka SimpleMail zapewnia pełne wsparcie uwierzytelniania SMTP w aplikacjach C++. Biblioteka obsługuje zarówno metodę plain, jak i login. Zapewnia to kompatybilność z większością serwerów SMTP, w tym Gmail, Outlook i serwerami własnymi. Poniżej przydatny fragment kodu, który pokazuje, jak łatwo programiści C++ mogą skonfigurować ustawienia SMTP, w tym STARTTLS na porcie 587.

Jak skonfigurować ustawienia SMTP w aplikacjach 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");

Wysyłanie e-maili z załącznikami w C++

Dodawanie załączników do e-maili jest powszechnym wymogiem, a SimpleMail obsługuje to bezproblemowo. Biblioteka ułatwia tworzenie nowych e-maili i dołączanie plików do wiadomości przy użyciu kilku linii kodu. Zajmuje się kodowaniem załącznika i ustawianiem odpowiednich typów MIME. Programiści mogą określić ścieżkę do pliku oraz opcjonalnie własną nazwę pliku załącznika. Poniższy przykład pokazuje, jak programiści mogą wysłać e-mail z załącznikami plików za pomocą API C++.

Jak wysłać wiadomość e-mail z załącznikami plików przy użyciu biblioteki 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;
}

Lepsze bezpieczeństwo dzięki wsparciu SSL/TLS

Bezpieczeństwo jest kluczowe przy obsłudze e-maili. Biblioteka SimpleMail obsługuje bezpieczne połączenia z serwerami SMTP przy użyciu SSL (Secure Sockets Layer) i TLS (Transport Layer Security). Podczas konfigurowania serwera SMTP możesz określić typ połączenia jako Ssl lub Tls, aby zapewnić szyfrowanie komunikacji z serwerem pocztowym. Chroni to treść e-maili oraz dane uwierzytelniające przed przechwyceniem.

 Polski