Я пытаюсь отправить несколько сообщений с помощью SendMailAsync, и я пытаюсь передать токен отмены, чтобы прервать процесс отправки, когда запрос отмены.
static void Send(SmtpClientFactory factory, IEnumerable<MailMessage> messages)
{
Task.WaitAll(SendAsync(factory, messages, CancellationToken.None));
}
static async Task SendAsync(SmtpClientFactory factory, IEnumerable<MailMessage> messages, CancellationToken token)
{
await Task.Run(async () =>
{
using (SmtpClient smtpClient = factory())
{
foreach (MailMessage message in messages)
{
await smtpClient.SendMailAsync(message).ConfigureAwait(false);
}
}
}, token);
}
Когда я использую не асинхронную отправкупопал в тупик.Как я могу отправить свое сообщение синхронно и использовать токен отмены для отмены, когда время истекло?