Pergunta

Existe alguma maneira em MVC para obter o System.Net.Mail SendAsync ao trabalho, em vez do bloqueio método de envio?

Eu tentei usá-lo, mas bateu o "Página de iniciar uma operação assíncrona tem que ter o atributo Async" de erro, que eu obviamente não pode resolver (ou pode I?), Porque não há nenhuma página ASPX com uma directiva @Page onde Eu poderia adicionar o atributo Async.

Ajuda é muito apreciada: (

Foi útil?

Solução

Outras dicas

Se você estiver usando um serviço de terceiros, como o Gmail para enviar seu e-mail e contando com SendEmail ou SendAsync você pode querer configurar o seu próprio servidor SMTP que irá retransmitir para gmail. A vantagem é que SendEmail vai voltar muito mais rápido e você pode ser capaz de esquecer a coisa toda assíncrona.

Dessa forma, se gmail rejeita você, por qualquer motivo o e-mail ainda vai sentar-se na sua fila local.

Esta é uma maneira rápida e suja para obter email configuração pouco confiável envio.

Instruções (não pessoalmente testados, mas eu fiz isso anos atrás *) ou ver isso para o Windows 7

* é claro que eu só me lembrava eu ??fiz isso depois de passar um longo tempo convertendo até assíncrona: - (

Você pode querer considerar colocar o e-mail em uma tabela de banco de dados e, em seguida, ter um daemon que envia e-mails através do processamento da fila.

a) if youre not sending billions of emails you can have a log of what you sent
b) you can resend if something fails.

depende quão importante esses e-mails são, mas se eles são importantes do ponto de vista de negócios e mustnt se perder, então você deve usar essa abordagem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top