/// <summary> /// Sends the asynchronous. /// </summary> /// <returns> /// Task. /// </returns> public async Task SendAsync() { var cacheKey = TypeExtensions.GetCallingMethod(); string eml; using (var sr = new StreamReader(_message.RawMessage())) { eml = await sr.ReadToEndAsync().ConfigureAwait(false); } var date = DateTime.Now.ToString(@"yyyy-MM-dd HH.mm.ss.ffffff", CultureInfo.InvariantCulture); LogConsumer.DebugTo <TextFileLogProvider>(eml, $@"{_message.Subject} {date}.{Guid.NewGuid()}.eml"); if (OperationManager.IsInTestEnvironment) { LogConsumer.Trace(Resources.SmtpMailer_SendAsync_Disabled, Resources.SmtpMailer_SendAsync_DisabledDue_TestEnvironment); return; } try { await SendInternalAsync(cacheKey).ConfigureAwait(false); } catch (Exception e) { if (!HandleExtension(e, cacheKey)) { throw; } } }