1. Produkte
  2.   Email
  3.   C++
  4.   SimpleMail
 
  

E-Mails mit HTML-Inhalt über kostenlose C++-Bibliothek senden/empfangen

Open-Source-C++-E-Mail-Bibliothek zum Senden & Empfangen von E-Mails mit Unterstützung für moderne Authentifizierung, MIME-Formatierung, Anhänge, SMTP, HTML-Inhalt und SSL/TLS-Verschlüsselung.

Was ist SimpleMail?

In der Welt der modernen C++-Entwicklung ist die effiziente und sichere Handhabung von E-Mail-Funktionalität für eine Vielzahl von Anwendungen entscheidend – von Benachrichtigungssystemen bis hin zu Benutzerverifizierungen. Während viele Hochsprachen umfangreiche Bibliotheken für die SMTP-E-Mail-Verarbeitung anbieten, hat C++ historisch an einer wirklich leichten und einfachen Lösung gemangelt. SimpleMail ist eine C++-Bibliothek, die auf den QtCore‑ und QtNetwork‑Modulen aufbaut. Sie stellt eine einfache Schnittstelle zum Senden von MIME‑konformen E‑Mail‑Nachrichten über SMTP‑Server bereit, inklusive Unterstützung für SSL/TLS‑Verschlüsselung, SMTP‑Authentifizierung, Klartext‑ und HTML‑Nachrichteninhalte, Dateianhänge, mehrere Empfänger (To, Cc, Bcc) und vieles mehr. Geräte, die Zustände überwachen (z. B. Temperatursensoren oder Smart‑Home‑Gateways), können SimpleMail nutzen, um Benutzer bei Anomalien zu alarmieren.

SimpleMail ist eine minimalistische, aber leistungsstarke Bibliothek, die C++‑Anwendungen das Senden von E‑Mails mit Anhängen, HTML‑Inhalt und mehr über SMTP ermöglicht. Auf GitHub gepflegt, ist SimpleMail eine Qt‑basierte SMTP‑Client‑Bibliothek, die auf Benutzerfreundlichkeit, Flexibilität und Robustheit ausgelegt ist. Egal, ob Sie eine Desktop‑App oder einen serverseitigen Daemon in C++ bauen, die Bibliothek bietet eine saubere und praktische Schnittstelle zum Senden von E‑Mails. Wenn Sie Frameworks wie Cutelyst oder Wt verwenden, passt SimpleMail hervorragend zum Versenden von benutzerbezogenen Benachrichtigungen oder transaktionalen E‑Mails. SimpleMail ist ein erfrischender Ansatz für C++‑Entwickler, die E‑Mail‑Funktionen direkt in ihre Anwendungen integrieren möchten. Mit kleinem Footprint, starker Unterstützung moderner E‑Mail‑Protokolle und nahtloser Integration in das Qt‑Framework liefert sie genau das, worauf viele C++‑Entwickler gewartet haben.

Previous Next

Erste Schritte mit SimpleMail

Die empfohlene Methode, SimpleMail zu installieren, ist über GitHub. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.

SimpleMail über GitHub installieren

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

HTML-E-Mail über C++-API erstellen

Die Open‑Source‑Bibliothek SimpleMail unterstützt das Senden von E‑Mails sowohl im Klartext‑ als auch im HTML‑Format, was reichhaltigere E‑Mail‑Gestaltung ermöglicht. Sie können einen HTML‑Body für optisch ansprechende E‑Mails festlegen und gleichzeitig eine Klartext‑Alternative für E‑Mail‑Clients bereitstellen, die HTML nicht unterstützen, oder für Nutzer, die dies bevorzugen. Die Bibliothek erleichtert das Senden formatierter E‑Mails mit Bildern oder benutzerdefinierten Stilen, da sie HTML‑Inhalte in Ihrer Nachricht zulässt. Der folgende Code‑Abschnitt zeigt, wie Entwickler eine HTML‑E‑Mail mit Inline‑Bildern senden können.

Wie man eine HTML-E-Mail mit Inline-Bildern über die C++-API sendet?

#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-Unterstützung mit Authentifizierung

Die Open‑Source‑Bibliothek SimpleMail bietet vollständige Unterstützung für SMTP‑Authentifizierung in C++‑Anwendungen. Die Bibliothek unterstützt sowohl die Plain‑ als auch die Login‑Authentifizierungsmethoden. Das gewährleistet Kompatibilität mit den meisten SMTP‑Servern, einschließlich Gmail, Outlook und eigenen Servern. Hier ein nützlicher Code‑Abschnitt, der zeigt, wie C++‑Entwickler SMTP‑Einstellungen, einschließlich STARTTLS über Port 587, einfach konfigurieren können.

Wie man SMTP-Einstellungen in C++-Anwendungen konfiguriert?

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 mit Anhängen über C++ senden

Das Hinzufügen von Anhängen zu Ihren E‑Mails ist ein häufiges Anliegen, und SimpleMail erledigt das nahtlos. Die Bibliothek ermöglicht das einfache Erzeugen neuer E‑Mails und das Anhängen von Dateien mit nur wenigen Zeilen Code. Sie übernimmt das Kodieren des Anhangs und das Setzen der passenden MIME‑Typen. Entwickler können den Dateipfad angeben und optional einen eigenen Dateinamen für den Anhang festlegen. Das folgende Beispiel zeigt, wie Entwickler eine E‑Mail mit Dateianhängen über die C++‑API senden können.

Wie man eine E-Mail-Nachricht mit Dateianhängen über die C++-Bibliothek sendet?

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

Bessere Sicherheit mit SSL/TLS-Unterstützung

Sicherheit hat beim Umgang mit E‑Mails oberste Priorität. Die SimpleMail‑Bibliothek unterstützt sichere Verbindungen zu SMTP‑Servern mittels SSL (Secure Sockets Layer) und TLS (Transport Layer Security). Beim Konfigurieren des SmtpServers können Sie den ConnectionType auf Ssl oder Tls setzen, um sicherzustellen, dass die Kommunikation mit dem Mail‑Server verschlüsselt ist. Dies schützt den E‑Mail‑Inhalt und die Authentifizierungsdaten vor dem Abfangen.

 Deutsch