メールの作成と内容の設定
新しいメールメッセージの作成
MailMessage クラスはメールメッセージを表し、開発者が新しいメールメッセージを作成できるようにします。From、To、Subject、Body などの基本的なメールプロパティは、新しく作成したメールメッセージに簡単に付加できます。同様に、メールメッセージを EML、MSG、MHTML などのさまざまな形式で保存できます。
- MailMessage クラスのインスタンスを作成します。
- メールメッセージのプロパティを設定します。
- メールメッセージを異なる形式で保存します。
以下のコードスニペットは、さまざまなプロパティを持つ新しいメールを作成する方法を示しています。
複数の受信者の指定
MailMessage はメールメッセージを表します。MailMessage クラスのインスタンスは、SmtpClient クラスを使用して SMTP サーバーに送信されるメールメッセージを構築するために使用されます。このトピックでは、複数のメールアドレスを指定する方法を示します。MailMessage クラスで使用できるメールアドレスは以下のとおりです:
- To - 受信者アドレスは ‘To’ フィールドで指定できます。‘To’ フィールドの受信者はメッセージの主な対象です。複数の受信者アドレスを指定できます。
- Cc - CC は "carbon copy"(カーボンコピー)または "courtesy copy"(礼儀的コピー)を意味し、メールを閲覧する必要はあるが必ずしも対応を求められない受信者を追加できます。たとえばマネージャーやチームメンバーなどです。Aspose.Email では、コード内で CC アドレスを指定できます。これにより、特定のアドレスへの自動メールやすべてのメールを関係者にコピーできます。
- Bcc - Bcc(ブラインド カーボン コピー)は、他の受信者に見えない受信者へメールを送信できる機能です。CC がメール情報に表示されるのに対し、Bcc は表示されません。隠された通知のために使用されます。
メールメッセージで複数のメールアドレスを指定するには、次の手順に従います:
- MailMessage クラスのインスタンスを作成します。
- MailMessage インスタンスを使用して From と複数の To、Cc、Bcc アドレスを指定します。
- SmtpClient クラスのインスタンスを作成し、Send メソッドを使用してメールを送信します。
以下のコードサンプルは、複数の To、CC、BCC アドレスを指定する方法を示しています。
メールアドレスをフレンドリーネームに変更
以下のプログラミングサンプルは、メールメッセージ内のメールアドレスをフレンドリーネームに変更する方法を示しています。フレンドリーネームは、メールアドレスよりも人間にとって分かりやすい名前で、例として js346@domain.com の代わりに John Smith などがあります。メールを送信する際、MailMessage クラスのコンストラクタでメールアドレスにフレンドリーネームを関連付けることができます。
メールメッセージでメールアドレスをフレンドリーネームに変更するには、次の手順に従います:
- MailMessage クラスのインスタンスを作成し、To と From フィールドにフレンドリーネーム付きのメールアドレスを指定します。
- 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 を解決するために使用されます。
以下のコードスニペットは、代替テキストを設定する方法を示します。
MailMessage の機能
この MailMessage クラスはメールメッセージの内容を表します。このクラスのインスタンスは MailMessage クラスは、SMTP サーバーへ配信するメールメッセージを構築するために使用されます。 SmtpClient クラス。この記事では、使用方法を示します。 MailMessage クラス ユーティリティ機能は、以下のメール機能を制御します:
- Date and time - を介して MailMessage クラス Date プロパティは、メールの日時を取得または設定します。
- メッセージ優先度 - MailPriority クラスはメール送信時の優先度レベルを指定します。低、標準、高のいずれかです。優先度は送信速度と配信に影響します。
- メッセージ感度 - MailSensitivity クラスは感度の 5 つのレベルを指定します。
- 配信通知 - 配信通知は、送信者にメールが受信者の受信トレイに配信されたことを知らせます。
既定では、日付はメッセージが送信された実際の日付で、時刻は送信された時間で、Microsoft Outlook が表示する通りです。ただし、実際のメール配信時間は SMTP サーバー自体がメールヘッダーに追加します。例えば、以下は一般的なメールヘッダーで、Date が Date フィールドを設定しています。
以下のコードスニペットは、上記で説明した各機能の使用方法を示しています。
開封確認の要求
以下のプログラミングサンプルは、開封確認を要求する方法を示しています。 MailMessage クラス DeliveryNotificationOptions 列挙プロパティはメールの配達通知オプションを説明します。メール送信後に開封確認を要求するには、次の手順に従ってください:
- インスタンスを作成します MailMessage クラス。
- メールの送信者、受信者、HTML 本文を以下で指定します MailMessage インスタンス。
- 指定してください: DeliveryNotificationOptions 他の MailMessage インスタンス。
- インスタンスを作成します SmtpClient クラスと Send メソッドを使用してメールを送信します。
開封確認の要求が常に受け入れられるとは限らない理由は次のとおりです:
- メールクライアントがその機能を実装していない場合があります。
- エンドユーザーはその機能をオフにしている可能性があります。
- エンドユーザーは送信しないことを選択できる場合があります。
以下のコードスニペットは、開封確認を要求する方法を示します。
メールヘッダーの設定
メールヘッダーはインターネット標準を表し、RFC でインターネットメールメッセージに含まれるヘッダー項目が定義されています。メールヘッダーは MailMessage クラスを使用して指定できます。一般的なヘッダータイプは HeaderType クラスで定義されており、通常の列挙体のように動作するシールドクラスです。
通常、メールヘッダーは以下のフィールドを含みます:
- To: 受信者のアドレスは To フィールドで指定できます。To フィールドの受信者はメッセージの主要な受信者です。複数の受信者アドレスを指定できます。
- From: メッセージ送信者のメールアドレスを示すフィールドです。
- Cc: メッセージを「カーボンコピー」または「礼儀的コピー」として送信できます。受信者は返信やアクションを求められません。通常、上司などが CC で通知されます。
- Bcc: Blind Carbon Copy(ブラインドカーボンコピー)の略で、受信者に他の受信者リストが見えない形でメッセージを送る方法です。隠し通知のために使用されます。
- ReplyTo: 送信者が返信を受け取りたい宛先を示すヘッダーです。
- Subject: タイトル、見出し、件名。返信やコメントメッセージのスレッド指標としてよく使用されます。
- Date: このヘッダーは日付(時間)を指定します。通常、メッセージが作成・送信された日時です。
- XMailer: 発信者のクライアントソフトウェアに関する情報です。例: X-Mailer: Aspose.Email XMailer はメールクライアントで使用されます。メールクライアントによって XMailer の値は異なります。MS Outlook の XMailer の値は Microsoft Office Outlook, Build 11.0.5510 です。受信側のメール受信ソフトやリーダーでは無視されます。
通常、メールヘッダーは次のようになります:
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
メールヘッダーをカスタマイズするには、次の手順に従ってください:
- インスタンスを作成します MailMessage クラス。
- インスタンスを使用して To、From、CC、Bcc、ReplyTo、Subject、Date、XMailer を指定します MailMessage.
- インスタンスを作成します MimeHeader クラスでシークレットヘッダーを指定します。
- シークレットヘッダーを以下に追加します MailMessage インスタンス。
以下のコードスニペットは、メールヘッダーを設定する方法を示しています。
上記のコードスニペットは、次の形式のメールヘッダーを生成します。これは、生成されたファイル "MsgHeaders.msg" を Microsoft Outlook で開き、プロパティを表示することで確認できます。
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
特定の位置にヘッダーを挿入
この Add メソッド HeadersCollection クラスはヘッダーをコレクションの末尾に挿入します。ただし、特定の位置にヘッダーを挿入する必要がある場合もあります。その場合、 Add メソッドでは役に立ちません。これを実現するには、以下を使用します Insert メソッド( HeadersCollectionコレクションに同名のヘッダーが含まれている場合、このヘッダーは同名の他のヘッダーの前に挿入されます。以下のコードスニペットは、特定の位置にヘッダーを挿入する方法を示しています。
メールへのカスタムヘッダー追加
以下のプログラミングサンプルは、メールメッセージでカスタムヘッダーを指定する方法を示しています。メールヘッダーは次を使用して指定できます: MailMessage クラス。メールメッセージにカスタムヘッダーを指定するには、以下の手順に従ってください:
- インスタンスを作成します MailMessage クラス。
- MailMessage インスタンスを使用して、To、From、Subject の値を指定します。
- シークレットヘッダーを以下に追加します: MailMessage インスタンス。
- SmtpClient クラスのインスタンスを作成し、Send メソッドを使用してメールを送信します。
以下のコードスニペットは、メールにカスタムヘッダーを追加する方法を示しています。