public Task SendAsync(Email email) { var taskCompletionSource = new TaskCompletionSource <SendEmailResult>(); using (var mailMessage = CreateMailMessage(email)) { _simpleEmailService.BeginSendEmail(CreateSendEmailRequest(mailMessage), e => { var result = _simpleEmailService.EndSendEmail(e); taskCompletionSource.SetResult(result.SendEmailResult); }, null); } return(taskCompletionSource.Task); }