Parece que o servidor de e-mail está forçando esse atraso, provavelmente para evitar spam: link .
Qual servidor de e-mail você está usando? Como está configurado? Você está usando SMTP autenticado ou não autenticado para enviar e-mails?
Estou usando este trecho de código para enviar um e-mail:
SmtpClient client = new SmtpClient();
client.Host = smtpServer;
client.Send(mailMessage);
Se eu acionar esse código dez vezes / segundo, depois de algumas centenas de e-mails, o envio de um e-mail leva 10 segundos ... Poderia haver uma fila envolvida aqui?
Parece que o servidor de e-mail está forçando esse atraso, provavelmente para evitar spam: link .
Qual servidor de e-mail você está usando? Como está configurado? Você está usando SMTP autenticado ou não autenticado para enviar e-mails?
Como Massimo disse, muitos servidores SMTP inteligentes têm uma capacidade de aceleração. Também pode ser limitado externamente ao servidor SMTP usando a limitação de rede.
Se o seu código está bloqueando, você deve enviá-lo de forma assíncrona. Você pode usar o método .SendAsync () no SmtpClient, que não é o meu favorito, ou usar algo como o SmartThreadPool para criar um thread para cada mensagem.
Se você estiver enviando esses dados de forma assíncrona, não será possível incluir a mensagem em uma instrução using (), portanto, será necessário chamar .Dispose () no MailMessage ou haverá problemas de recursos.
Tags email smtp email-server