1. Produkter
  2.   E-post
  3.   C++
  4.   SimpleMail
 
  

Send/motta e-poster med HTML-innhold via gratis C++-bibliotek

Åpen kildekode C++-e-postbibliotek for sending og mottak av e-poster med støtte for moderne autentisering, MIME-formattering, vedlegg, SMTP, HTML-innhold og SSL/TLS-kryptering.

Hva er SimpleMail?

I dagens moderne C++-utvikling er håndtering av e-postfunksjonalitet på en effektiv og sikker måte avgjørende for et bredt spekter av applikasjoner – fra varslingssystemer til brukerbekreftelser. Mens mange høynivåspråk tilbyr rike biblioteker for SMTP-e-posthåndtering, har C++ historisk manglet en virkelig lettvektig og enkel løsning. SimpleMail er et C++-bibliotek bygget på QtCore- og QtNetwork-modulene. Det gir et enkelt grensesnitt for å sende MIME-kompatible e-postmeldinger via SMTP‑servere, med støtte for SSL/TLS‑kryptering, SMTP‑autentisering, ren tekst‑ og HTML‑meldingsinnhold, filvedlegg, flere mottakere (To, Cc, Bcc) og så videre. Enheter som overvåker forhold (f.eks. temperatursensorer eller smarte hjemme‑gatewayer) kan bruke SimpleMail til å varsle brukere ved avvik.

SimpleMail er et minimalistisk, men kraftig bibliotek som lar C++‑applikasjoner sende e-poster med vedlegg, HTML‑innhold og mer via SMTP. Vedlikeholdt på GitHub, er SimpleMail et Qt‑basert SMTP‑klientbibliotek designet for brukervennlighet, fleksibilitet og robusthet. Enten du bygger en skrivebordsapp eller en server‑side daemon i C++, gir biblioteket et rent og praktisk grensesnitt for å sende e-poster. Hvis du bruker rammeverk som Cutelyst eller Wt, er SimpleMail et naturlig valg for å sende bruker‑relaterte varsler eller transaksjons‑e‑post. SimpleMail er en frisk pust for C++‑utviklere som ønsker å integrere e‑postfunksjonalitet direkte i sine applikasjoner. Med et lite fotavtrykk, sterk støtte for moderne e‑postprotokoller og sømløs integrasjon med Qt‑rammeverket, leverer det akkurat det mange C++‑utviklere har ventet på.

Previous Next

Kom i gang med SimpleMail

Den anbefalte måten å installere SimpleMail på er via GitHub. Vennligst bruk følgende kommando for en smidig installasjon.

install SimpleMail via GitHub

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

Opprett HTML-e-post via C++-API

Det åpne kildekode-biblioteket SimpleMail støtter sending av e-poster med både ren tekst og HTML‑innhold, noe som gir rikere e‑postformatering. Du kan angi en HTML‑kropp for visuelt tiltalende e‑post, samtidig som du tilbyr et ren‑tekst‑alternativ for e‑postklienter som ikke støtter HTML eller for brukere som foretrekker det. Biblioteket gjør det enkelt å sende formaterte e‑poster med bilder eller egendefinerte stiler, fordi det tillater HTML‑innhold i meldingen din. Følgende kodeeksempler viser hvordan utviklere kan sende en HTML‑e‑post med innebygde bilder.

Hvordan sende en HTML‑e‑post med innebygde bilder 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-støtte med autentisering

Det åpne kildekode-biblioteket SimpleMail har full støtte for SMTP‑autentisering i C++‑applikasjoner. Biblioteket støtter både enkel og login‑autentiseringsmetoder. Dette sikrer kompatibilitet med de fleste SMTP‑servere, inkludert Gmail, Outlook og egendefinerte servere. Her er et nyttig kodeeksempel som viser hvor enkelt C++‑utviklere kan konfigurere SMTP‑innstillinger, inkludert STARTTLS på port 587.

Hvordan konfigurere SMTP‑innstillinger i C++‑apper?

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

Send e-poster med vedlegg via C++

Å legge vedlegg til e-poster er et vanlig krav, og SimpleMail håndterer dette sømløst. Biblioteket gjør det enkelt å generere nye e-poster og legge ved filer i meldingene med bare noen få linjer. Det tar seg av koding av vedlegget og setter riktige MIME‑typer. Utviklere kan angi filstien og eventuelt et egendefinert filnavn for vedlegget. Følgende eksempel viser hvordan utviklere kan sende en e‑post med filvedlegg via C++‑API.

Hvordan sende en e‑postmelding med filvedlegg via C++‑bibliotek?

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

Bedre sikkerhet med SSL/TLS-støtte

Sikkerhet er avgjørende når man håndterer e‑post. SimpleMail‑biblioteket støtter sikre tilkoblinger til SMTP‑servere ved bruk av SSL (Secure Sockets Layer) og TLS (Transport Layer Security). Når du konfigurerer SmtpServer, kan du angi ConnectionType som Ssl eller Tls for å sikre at kommunikasjonen med e‑postserveren er kryptert. Dette beskytter e‑postinnholdet og autentiseringsinformasjonen mot avlytting.

 Norsk