1. 製品
  2.   Eメール
  3.   C++
  4.   SimpleMail
 
  

無料 C++ ライブラリを使用した HTML コンテンツでのメール送受信

最新の認証、MIME フォーマット、添付ファイル、SMTP、HTML コンテンツ、SSL/TLS 暗号化をサポートする、メールの送受信が可能なオープンソース C++ メールライブラリです。

SimpleMail とは?

モダンな C++ 開発の世界では、メール機能を効率的かつ安全に扱うことが、通知システムからユーザー認証まで幅広いアプリケーションで重要です。多くのハイレベル言語が SMTP メール処理用の豊富なライブラリを提供している一方で、C++ には真に軽量でシンプルなソリューションが歴史的に不足してきました。SimpleMail は QtCore と QtNetwork モジュール上に構築された C++ ライブラリです。SMTP サーバー経由で MIME 準拠のメールメッセージを送信するためのシンプルなインターフェースを提供し、SSL/TLS 暗号化、SMTP 認証、プレーンテキストおよび HTML メッセージコンテンツ、ファイル添付、複数受信者(To、Cc、Bcc)などをサポートします。温度センサーやスマートホームゲートウェイなど、状態を監視するデバイスは、異常が発生した際に SimpleMail を使ってユーザーに警告を送ることができます。

SimpleMail は、添付ファイルや HTML コンテンツなどを備えたメールを SMTP 経由で送信できる、ミニマリストでありながら強力なライブラリです。GitHub で保守されている SimpleMail は、Qt ベースの SMTP クライアントライブラリで、使いやすさ、柔軟性、堅牢性を重視して設計されています。デスクトップアプリでもサーバーサイドデーモンでも、C++ でメール送信のためのクリーンで実用的なインターフェースを提供します。Cutelyst や Wt といったフレームワークを使用している場合、ユーザー通知やトランザクションメールの送信に SimpleMail は自然な選択肢です。C++ 開発者がアプリケーションに直接メール機能を組み込む際に、SimpleMail は新鮮な風をもたらします。小さなフットプリント、最新メールプロトコルへの強力なサポート、Qt フレームワークとのシームレスな統合により、多くの C++ 開発者が待ち望んでいたものを提供します。

Previous Next

SimpleMail の開始方法

SimpleMail のインストールは GitHub を使用することが推奨されます。スムーズなインストールのために以下のコマンドをご利用ください。

install SimpleMail via GitHub

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

C++ API で HTML メールを作成する

オープンソースの SimpleMail ライブラリは、プレーンテキストと HTML コンテンツの両方でメールを送信でき、リッチなメールフォーマットを実現します。視覚的に魅力的なメールを作成するために HTML 本文を指定でき、HTML に対応していないメールクライアントやテキストのみを好むユーザー向けにプレーンテキストの代替も提供できます。HTML コンテンツをメッセージに組み込むことで、画像やカスタムスタイルを含むフォーマット済みメールの送信が簡単になります。以下のコードスニペットは、開発者がインライン画像付きの HTML メールを送信する方法を示しています。

How to Send an HTML Email with Inline Images 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 サポート

オープンソースの SimpleMail ライブラリは、C++ アプリケーション内での SMTP 認証を完全にサポートしています。プレーン認証とログイン認証の両方に対応しており、Gmail、Outlook、カスタムサーバーなど、ほとんどの SMTP サーバーと互換性があります。以下のコードスニペットは、C++ 開発者がポート 587 上で STARTTLS を含む SMTP 設定を簡単に構成できる例を示しています。

How to Configure SMTP Settings inside 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");

C++ で添付ファイル付きメールを送信する

メールに添付ファイルを追加することは一般的な要件であり、SimpleMail はこれをシームレスに処理します。数行のコードで新しいメールを生成し、ファイルを添付できるように設計されています。添付ファイルのエンコードや適切な MIME タイプの設定も自動で行われます。開発者はファイルパスと任意でカスタムファイル名を指定できます。以下の例は、C++ API を使用してファイル添付付きメールを送信する方法を示しています。

How to Send an Email Message with File Attachments via C++ Library?

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

SSL/TLS サポートでセキュリティ向上

メールを扱う際のセキュリティは極めて重要です。SimpleMail ライブラリは、SSL(Secure Sockets Layer)および TLS(Transport Layer Security)を使用した SMTP サーバーへの安全な接続をサポートしています。SmtpServer を設定する際に ConnectionType を Ssl または Tls に指定することで、メールサーバーとの通信が暗号化されます。これにより、メール内容や認証情報が盗聴されるリスクが低減されます。

 日本