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

E-mails verzenden/ontvangen met HTML-inhoud via gratis C++-bibliotheek

Open source C++ e-mailbibliotheek voor het verzenden & ontvangen van e-mails met ondersteuning voor moderne authenticatie, MIME-opmaak, bijlagen, SMTP, HTML-inhoud en SSL/TLS-encryptie.

Wat is SimpleMail?

In de wereld van moderne C++-ontwikkeling is het efficiënt en veilig afhandelen van e-mailfunctionaliteit cruciaal voor een breed scala aan toepassingen—van meldingssystemen tot gebruikersverificaties. Terwijl veel hogere programmeertalen rijke bibliotheken voor SMTP-e-mailafhandeling bieden, heeft C++ historisch gezien een echt lichtgewicht en eenvoudige oplossing gemist. SimpleMail is een C++-bibliotheek gebouwd bovenop de QtCore- en QtNetwork-modules. Het biedt een eenvoudige interface voor het verzenden van MIME-conforme e-mailberichten via SMTP-servers, inclusief ondersteuning voor SSL/TLS-encryptie, SMTP-authenticatie, platte tekst‑ en HTML‑berichtinhoud, bestandsbijlagen, meerdere ontvangers (Aan, Cc, Bcc) en meer. Apparaten die omstandigheden monitoren (bijv. temperatuursensoren of smart‑home‑gateways) kunnen SimpleMail gebruiken om gebruikers te waarschuwen bij afwijkingen.

SimpleMail is een minimalistische maar krachtige bibliotheek die C++‑applicaties in staat stelt e‑mails met bijlagen, HTML‑inhoud en meer via SMTP te verzenden. Onderhouden op GitHub, is SimpleMail een Qt‑gebaseerde SMTP‑clientbibliotheek ontworpen voor gebruiksgemak, flexibiliteit en robuustheid. Of je nu een desktop‑applicatie of een server‑side daemon in C++ bouwt, de bibliotheek biedt een schone en praktische interface voor het verzenden van e‑mails. Als je frameworks zoals Cutelyst of Wt gebruikt, is SimpleMail een natuurlijke keuze voor het verzenden van gebruikersgerelateerde meldingen of transactionele e‑mails. SimpleMail is een verademing voor C++‑ontwikkelaars die e‑mailfunctionaliteit direct in hun applicaties willen integreren. Met een kleine footprint, sterke ondersteuning voor moderne e‑mailprotocollen en naadloze integratie met het Qt‑framework, biedt het precies wat veel C++‑ontwikkelaars hebben gewacht.

Previous Next

Aan de slag met SimpleMail

De aanbevolen manier om SimpleMail te installeren is via GitHub. Gebruik alstublieft de volgende opdracht voor een soepele installatie.

SimpleMail installeren via GitHub

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

HTML-e-mail maken via C++ API

De open source SimpleMail-bibliotheek ondersteunt het verzenden van e‑mails met zowel platte tekst als HTML‑inhoud, waardoor rijkere e‑mailopmaak mogelijk is. Je kunt een HTML‑body opgeven voor visueel aantrekkelijke e‑mails, terwijl je ook een platte‑tekst‑alternatief biedt voor e‑mailclients die geen HTML ondersteunen of voor gebruikers die dat verkiezen. De bibliotheek maakt het eenvoudig om geformatteerde e‑mails met afbeeldingen of aangepaste stijlen te verzenden, omdat hij HTML‑inhoud in je bericht toestaat. De volgende code‑fragmenten laten zien hoe software‑ontwikkelaars een HTML‑e‑mail met inline‑afbeeldingen kunnen verzenden.

Hoe een HTML-e-mail met inline-afbeeldingen verzenden via 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-ondersteuning met authenticatie

De open source SimpleMail-bibliotheek biedt volledige ondersteuning voor SMTP‑authenticatie binnen C++‑applicaties. De bibliotheek ondersteunt zowel platte‑tekst‑ als login‑authenticatiemethoden. Dit zorgt voor compatibiliteit met de meeste SMTP‑servers, inclusief Gmail, Outlook en aangepaste servers. Hier is een nuttig code‑fragment dat laat zien hoe C++‑ontwikkelaars eenvoudig SMTP‑instellingen kunnen configureren, inclusief STARTTLS op poort 587.

Hoe SMTP-instellingen configureren in C++-apps?

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");

E-mails verzenden met bijlagen via C++

Het toevoegen van bijlagen aan je e‑mails is een veelvoorkomende eis, en SimpleMail handelt dit naadloos af. De bibliotheek maakt het eenvoudig om nieuwe e‑mails te genereren en bestanden aan deze berichten toe te voegen met slechts een paar regels code. Hij zorgt voor de juiste codering van de bijlage en stelt de juiste MIME‑types in. Ontwikkelaars kunnen het bestandspad opgeven en eventueel een aangepaste bestandsnaam voor de bijlage. Het volgende voorbeeld laat zien hoe software‑ontwikkelaars een e‑mail met bestandsbijlagen kunnen verzenden via de C++‑API.

Hoe een e-mailbericht met bestandsbijlagen verzenden via C++-bibliotheek?

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

Betere beveiliging met SSL/TLS-ondersteuning

Beveiliging is van het grootste belang bij e‑mailverkeer. De SimpleMail-bibliotheek ondersteunt beveiligde verbindingen met SMTP-servers via SSL (Secure Sockets Layer) en TLS (Transport Layer Security). Bij het configureren van de SmtpServer kun je het ConnectionType instellen op Ssl of Tls om ervoor te zorgen dat de communicatie met de mailserver versleuteld is. Dit beschermt zowel de e‑mailinhoud als de authenticatie‑referenties tegen onderschepping.

 Dutch