電子メールc#でWord文書を送信する

電子メールの本文の表示は、読者を引き付ける重要な要素の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文書を送信する

  1. 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";
  1. 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の詳細を確認できます。

関連項目