優れたMvcMailerパッケージを使用して、アプリケーション内から電子メールを送信しています。SendAsync()メソッドを使用して電子メールを送信しており、エラーをログに記録して添付ファイルを破棄したいと考えています。
MailMessage message = UserMailer.SendSomeEmail(emailViewModel);
var client = new SmtpClientWrapper();
client.SendCompleted += (sender, e) =>
{
if (e.Error != null || e.Cancelled)
{
Logger.LogError(e.Error);
}
if (message != null)
{
message.Attachments.Dispose();
message.Dispose();
}
client.Dispose();
};
message.SendAsync("this means nothing afaik", client);
これはうまく機能しますが、電子メールを送信する必要があるときはいつでも、同じスニペットを繰り返すのは苦痛になります。
エラーをログに記録し、非同期呼び出しが完了したときにメッセージの添付ファイルを破棄できるように、これをどのように設定する必要がありますか?より良い方法が必要です!