電子メールの本文の表示は、読者を引き付ける重要な要素の1つです。したがって、電子メールは、見出し、小見出し、表、画像などを使用して適切にフォーマットされます。ただし、組み込みの電子メールエディタのほとんどは、高度なフォーマットオプションを提供していません。この制限に対処するために、この記事では、C#の電子メール本文としてWord文書を使用して電子メールを作成する方法について説明します。
Word文書を電子メールにインポートするためのC#API
Word文書からコンテンツをインポートするには、Aspose.Words for .NETAPIを使用します。一方、メールを作成して送信するには、Aspose.Email for.NETの機能を活用します。上記のAPIは両方とも、DLLとしてダウンロードするか、NuGetを介してインストールできます。
DLLをダウンロードする
NuGet経由でインストール
PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email
C#を使用して電子メール本文でWord文書を送信する
- Aspose.Words.Documentクラスを使用してWord文書をロードし、MHTMLとしてMemoryStreamオブジェクトに保存します。
// ディスクからWord文書をロードする
Document wordDocument = new Document("Word.docx");
// ドキュメントをMHTMLとしてメモリストリームに保存します
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
2.MHTMLをMemoryStreamオブジェクトからAspose.Email.MailMessageオブジェクトにロードし、電子メールのフィールドとの間で件名を設定します。
// 位置を0に設定します
mhtmlStream.Position = 0;
// MHTMLから電子メールメッセージを作成する
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());
// メールフィールドを設定する
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
- Aspose.Email.Clients.Smtp.SmtpClientクラスを使用してSMTPクライアントを設定し、電子メールを送信します。
// SMTP経由でメールを送信する
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;
client.Send(message);
ソースコード
以下は、C#を使用してMSWordドキュメントを電子メール本文としてインポートするための完全なソースコードです。
// ディスクからWord文書をロードする
Document wordDocument = new Document("Word.docx");
// ドキュメントをMHTMLとしてメモリストリームに保存します
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
// 位置を0に設定します
mhtmlStream.Position = 0;
// MHTMLから電子メールメッセージを作成する
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());
// メールフィールドを設定する
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
// SMTP経由でメールを送信する
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;
client.Send(message);
無料のAPIライセンスを取得する
評価制限なしで無料でAPIを試すことができます。 無料の一時ライセンスを取得今すぐ。
結論
この記事では、C#を使用してWord文書を電子メール本文としてインポートする方法を学習しました。さらに、コードサンプルは、SMTPクライアントを使用して作成された電子メールメッセージを送信する方法を示しています。次のドキュメントにアクセスすると、この記事で使用されているAPIの詳細を確認できます。