Получение ошибки при отправке электронной почты с помощью Postal MVC и SendAsync()C#

Место общения программистов C#
Ответить
Anonymous
 Получение ошибки при отправке электронной почты с помощью Postal MVC и SendAsync()

Сообщение Anonymous »

Я пытаюсь отправить электронное письмо с помощью Postal MVC в моем контроллере MVC. Я хочу отправить электронное письмо асинхронно и не хочу ждать отправки электронного письма, прежде чем вернуть представление.

Вот код, который я пытаюсь использовать.

Код: Выделить всё

        try
{
dynamic email = new Email("TestEmail");  //I have an Email View by this name
email.To = "myemailaddress@domain.com";
email.From = "recipientsaddress@domain.com";
email.SendAsync();                      //email.Send() works fine
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
Но я получаю эту ошибку «Ошибка отправки почты».

Inner Exception System.InvalidOperationException: асинхронную операцию невозможно запустить в настоящее время. Асинхронные операции могут быть запущены только внутри асинхронного обработчика или модуля или во время определенных событий жизненного цикла страницы. Если это исключение произошло во время выполнения страницы, убедитесь, что Страница помечена . в System.Web.AspNetSynchronizationContext.OperationStarted() в System.ComponentModel.AsyncOperation.CreateOperation(Object userSuppliedState, SynchronizationContext syncContext) в System.Net.Mail.SmtpClient.SendAsync (сообщение MailMessage, Object userToken)

Если я заменю SendAsync() с Send() работает нормально.

Для полноты картины, вот как выглядят мои настройки mailSettings в моем Web.Config
Кажется, что-то не так с асинхронной отправкой электронной почты. Кто-нибудь еще сталкивался с этой проблемой и нашел решение?

Или мне следует использовать другую почтовую программу, например MvcMailer?

Пожалуйста, не предлагайте мне не отправлять электронное письмо асинхронно. Я хочу, чтобы мой сайт реагировал быстро, и считаю, что подключение к почтовому серверу для отправки электронного письма во время процесса регистрации немного не отвечает.

Подробнее здесь: https://stackoverflow.com/questions/139 ... -sendasync
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»