C++ でメールの作成と内容設定、SmtpClient を使用したメール送信

新しいメールメッセージの作成

MailMessage クラスはメールメッセージを表し、開発者が新しいメールメッセージを作成できるようにします。From、To、Subject、Body などの基本的なメールプロパティは、新しく作成したメールメッセージに簡単に付加できます。同様に、メールメッセージを EML、MSG、MHTML などのさまざまな形式で保存できます。

<a name="csharp-create-new-email-msg" id="csharp-create-new-email-msg">手順: C# で新しいメールメッセージを作成

  • MailMessage クラスのインスタンスを作成します。
  • メールメッセージのプロパティを設定します。
  • メールメッセージを異なる形式で保存します。
  • SmtpClient クラスのインスタンスを作成し、Send メソッドを使用してメールを送信します。

以下の C++ コードスニペットは、さまざまなプロパティを持つ新しいメールを作成する方法を示しています。

メールアドレスをフレンドリーネームに変更

以下のプログラミングサンプルは、メールメッセージ内のメールアドレスをフレンドリーネームに変更する方法を示しています。フレンドリーネームは、メールアドレスよりも人間にとって分かりやすい名前で、例として js346@domain.com の代わりに John Smith などがあります。メールを送信する際、MailMessage クラスのコンストラクタでメールアドレスにフレンドリーネームを関連付けることができます。

メールメッセージでメールアドレスをフレンドリーネームに変更するには、次の手順に従います:

  • MailMessage クラスのインスタンスを作成し、ToFrom フィールドにフレンドリーネーム付きのメールアドレスを指定します。
  • MailMessage インスタンスで MailMessage クラスのコンストラクタを呼び出し、フレンドリーネームと共に Cc および Bcc のメールアドレスを指定します。
  • SmtpClient クラスのインスタンスを作成し、Send メソッドを使用してメールを送信します。

以下のコードスニペットは、メールアドレスに対して名前を表示する方法を示します。

メール本文の設定

MailMessage クラスはメールメッセージを表します。MailMessage クラスのインスタンスは、SmtpClient クラスを使用して SMTP サーバーへ送信されるメールメッセージを構築するために使用されます。メール本文は MailMessage クラスを使用して指定できます。メールは複数の本文を持つことができます。MailMessage クラスには 2 種類のメール本文があります:

  • HTML 本文
  • テキスト本文

HtmlBody と TextBody に加えて、Aspose.Email にはメール本文に関連する他の 2 つの読み取り専用プロパティがあります:

  • IsBodyText: 本文がテキストかどうかを示します。
  • IsBodyHtml: 本文が HTML かプレーンテキストかを示します。

本記事では、プレーンテキストまたは HTML 本文テキストの定義、代替テキストの設定、メール本文のエンコード方法を示します。

HTML 本文の設定

HtmlBody メッセージ本文の HTML コンテンツを指定するために使用されます。HtmlBody は タグで囲む必要があります。以下のコードスニペットは、HTML 本文の設定方法を示します。

代替テキストの設定

AlternateView クラスを使用して、メールメッセージの別の形式のコピーを指定できます。たとえば、HTML でメッセージを送信する場合、HTML だけでなくプレーンテキスト版も提供したい場合があります。受信者が HTML を表示できない場合に備えてです。このクラスには LinkedResources と BaseUri という 2 つのプロパティがあり、メールコンテンツ内の URL を解決するために使用されます。

  • LinkedResources は LinkedResources オブジェクトのコレクションです。レンダリング時に、メールコンテンツ内の URL はまず LinkedResources コレクション内各オブジェクトの Content Link の URL と照合され、解決されます。
  • BaseUri はメールリーダーが本文内の相対 URL を解決するため、また LinkedResources コレクション内の相対 Content Link URL を解決するために使用されます。

以下の C++ コードスニペットは、代替テキストを設定する方法を示しています。