1

メッセージを送信するのではなく、MailMessage を使用して電子メールを表示する方法はありますか。私は SmtpClient を使用してメッセージを送信していますが、場合によっては、電子メールを確認してから、ユーザーが手動で送信する必要があります。

4

2 に答える 2

0

最も簡単な方法は、MIME メッセージ ( .eml) として一時ファイルに保存し、登録済みのメッセージ ビューアー (Windows Live メールや Thunderbird など) を使用して起動することです。

ファイルに保存するには、次のコード プロジェクトの記事で提供されている拡張メソッドMailMessageを使用できます: Microsoft.Net.Mail.MailMessage への Save() 機能の追加Save

MailMessage message = new MailMessage
{
    Subject = "Test",
    Body = "Hello world",
    From = new MailAddress("sender@abc.com"),
};
message.To.Add(new MailAddress("email@domain.com"));

string tempEmlPath = Path.Combine(
    Path.GetTempPath(), 
    Guid.NewGuid().ToString() + ".eml");

message.Save(tempEmlPath);

Process.Start(tempEmlPath);
于 2012-05-31T18:02:30.300 に答える
0

SmtpClientクラスには、電子メールを確認するための組み込みメソッドはありません。メッセージを手動で確認する必要があります。

送信する前に、電子メールを手動で確認する必要があります。

WebBrowserオブジェクトを使用して電子メールの本文部分を表示し、受信者が電子メールをどのように見るかを確認できます。

他のレビューも手動で行う必要があります。

于 2012-05-31T18:00:28.873 に答える