Pergunta

aqui é o meu código

for(int i = 0; i < number ; i++)
{
  MailAddress to = new MailAddress(iMail.to);
  MailAddress from = new MailAddress(iMail.from, iMail.displayName);
  string body = iMail.body;
  string subject = iMail.sub;
  oMail = new MailMessage(from, to);
  oMail.Subject = subject;
  oMail.Body = body;
  oMail.IsBodyHtml = true;
  oMail.Priority = MailPriority.Normal;
  oMail.Sender = from;
  s = new SmtpClient(smtpServer);
  s.ServicePoint.ConnectionLeaseTimeout = 0;
  if (s != null)
  {
     s.Send(oMail);
  }
  oMail.Dispose();
  s = null;
}

estou enviando mais de 60.000 e-mail usando este código, agora o meu problema algum destinatário recebe e-mail imediatamente, mas alguns deles fica depois de poucos minutos e alguns deles fica mesmo depois de algumas horas e pode ser muitos deles se perde antes de chegar ao destino. e meu Esta Edição ainda está sem resposta. Eu realmente preciso de ajuda neste. Estou preso. graças

Foi útil?

Solução

Na verdade, isso faz sentido. Você não acha que, ao enviar 60 mil e-mails em um prazo muito curto o seu são susceptíveis de ser considerado como um spammer? Atrasar os e-mails como StrongMail faz é uma boa maneira de impedi-lo de ser banido pelos ISPs.

Outras dicas

Tente o seguinte: as suas necessidades MailMessage estar em um bloco using. Além disso, você não precisa de um novo SmtpClient para cada mensagem. Você certamente não precisará configurá-lo como nulo! Este não é VB6.

SmtpClient smtpClient = new SmtpClient(smtpServer);
smtpClient.ServicePoint.ConnectionLeaseTimeout = 0;
for (int i = 0; i < number; i++)
{
    MailAddress to = new MailAddress(iMail.to);
    MailAddress from = new MailAddress(iMail.from, iMail.displayName);
    string body = iMail.body;
    string subject = iMail.sub;
    using (MailMessage mailMessage = new MailMessage(from, to))
    {
        mailMessage.Subject = subject;
        mailMessage.Body = body;
        mailMessage.IsBodyHtml = true;
        mailMessage.Priority = MailPriority.Normal;
        mailMessage.Sender = from;
        smtpClient.Send(mailMessage);
    }
}

Sugestão: não nomear variáveis ??coisas como oMail. Nós sei é um objeto. A maioria das coisas são. Não há nada especial sobre os objetos mais.

o problema não é provavelmente com o seu código, mas com o seu servidor SMTP.

Poderia ser qualquer número de questões, como não encontrar registros MX em seu servidor DNS (especialmente se o servidor DNS é fraca e não consegue lidar com as pesquisas que rápido).

Gostaria de verificar seus registros do servidor de correio, como algumas indicações sobre o que está acontecendo.

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