1. produkty
  2.   E-mailem
  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 je SimpleMail?

Ve světě moderního vývoje v C++ je efektivní a bezpečné zpracování e‑mailové funkčnosti klíčové pro širokou škálu aplikací – od notifikačních systémů po ověřování uživatelů. Zatímco mnoho vyšších programovacích jazyků nabízí bohaté knihovny pro práci se SMTP e‑mailem, C++ historicky postrádal skutečně lehké a jednoduché řešení. SimpleMail je C++ knihovna postavená na modulech QtCore a QtNetwork. Poskytuje jednoduché rozhraní pro odesílání MIME‑kompatibilních e‑mailových zpráv přes SMTP servery, včetně podpory SSL/TLS šifrování, SMTP autentizace, textového i HTML obsahu zprávy, příloh souborů, více příjemců (To, Cc, Bcc) a dalších. Zařízení monitorující podmínky (např. teplotní senzory nebo brány chytrých domů) mohou SimpleMail použít k upozornění uživatelů v případě anomálií.

SimpleMail je minimalistická, ale výkonná knihovna, která umožňuje aplikacím v C++ odesílat e‑maily s přílohami, HTML obsahem a dalšími funkcemi přes SMTP. Udržovaná na GitHubu, SimpleMail je Qt‑založená SMTP klientská knihovna navržená pro snadné použití, flexibilitu a robustnost. Ať už vytváříte desktopovou aplikaci nebo serverový démon v C++, knihovna poskytuje čisté a praktické rozhraní pro odesílání e‑mailů. Pokud používáte frameworky jako Cutelyst nebo Wt, SimpleMail je přirozenou volbou pro odesílání uživatelských notifikací nebo transakčních e‑mailů. SimpleMail je osvěžujícím dechem pro vývojáře C++, kteří chtějí integrovat e‑mailové schopnosti přímo do svých aplikací. S malou velikostí, silnou podporou moderních e‑mailových protokolů a bezproblémovou integrací s Qt frameworkem nabízí přesně to, na co mnoho vývojářů C++ čekalo.

Previous Next

Začínáme se SimpleMail

Doporučený způsob instalace SimpleMail je pomocí GitHubu. Použijte následující příkaz pro snadnou instalaci.

instalace SimpleMail přes GitHub

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

Vytvoření HTML e‑mailu pomocí C++ API

Open source knihovna SimpleMail podporuje odesílání e‑mailů jak v prostém textu, tak v HTML, což umožňuje bohatší formátování. Můžete specifikovat HTML tělo pro vizuálně atraktivní e‑maily a zároveň poskytnout prostý text jako alternativu pro klienty, kteří HTML nepodporují, nebo pro uživatele, kteří jej preferují. Knihovna usnadňuje odesílání formátovaných e‑mailů s obrázky nebo vlastními styly, protože umožňuje vložit HTML obsah do zprávy. Následující úryvek kódu ukazuje, jak mohou vývojáři odeslat HTML e‑mail s vloženými obrázky.

Jak odeslat HTML e‑mail s vloženými obrázky pomocí 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; }

Podpora SMTP s autentizací

Open source knihovna SimpleMail poskytuje kompletní podporu pro SMTP autentizaci v C++ aplikacích. Knihovna podporuje jak metodu plain, tak login autentizaci. To zajišťuje kompatibilitu s většinou SMTP serverů, včetně Gmailu, Outlooku a vlastních serverů. Níže je užitečný úryvek kódu, který ukazuje, jak snadno mohou vývojáři C++ nakonfigurovat SMTP nastavení, včetně STARTTLS na portu 587.

Jak nakonfigurovat SMTP nastavení v C++ aplikacích?

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

Odesílání e‑mailů s přílohami pomocí C++

Přidávání příloh k e‑mailům je běžná požadavek a SimpleMail to zvládá bez problémů. Knihovna umožňuje snadno vytvořit nový e‑mail a připojit soubory k těmto zprávám pouhými několika řádky. Postará se o kódování přílohy a nastavení správných MIME typů. Vývojáři mohou zadat cestu k souboru a volitelně vlastní název souboru pro přílohu. Následující příklad ukazuje, jak mohou vývojáři odeslat e‑mail s přílohami souborů pomocí C++ API.

Jak odeslat e‑mailovou zprávu s přílohami souborů pomocí C++ knihovny?

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

Lepší zabezpečení s podporou SSL/TLS

Bezpečnost je při práci s e‑mailem zásadní. Knihovna SimpleMail podporuje zabezpečená připojení k SMTP serverům pomocí SSL (Secure Sockets Layer) a TLS (Transport Layer Security). Při konfiguraci SmtpServer můžete nastavit ConnectionType na Ssl nebo Tls, aby komunikace s poštovním serverem byla šifrovaná. To chrání obsah e‑mailu i autentizační údaje před zachycením.

 Čeština