SMTP 连接在 Dispose 后需要时间连接

SMTP Connection takes time to connect after Dispose

我制作的用于批量发送电子邮件的应用程序有问题。所采取的步骤如下所述:

我面临的问题是,在第三批之后,我开始面临很多来自 SMTP 的超时问题(即应用程序要么说超时,要么发送电子邮件失败),这一直持续到最后221 封电子邮件中大约有 20 到 30 封失败。

下面是我为此编写的代码:

      Try

        'create the mail message
        Dim mail As New MailMessage()

        'set the addresses

        mail.From = New MailAddress("noreply@nasmiles.flynas.com")


        If (ConfigurationManager.AppSettings("Setup").Equals("Testing")) Then
            mail.[To].Add("Retroflynas@gmail.com")
            'mail.[To].Add("ironhide707@gmail.com")
        Else
            mail.[To].Add(recepient)
            mail.[Bcc].Add("Retroflynas@gmail.com")
        End If

        'set the content

        mail.Subject = subject

        mail.Body = body


        smtp.Port = 25



        'send the message


        objWriter.WriteLine("Case No: " + CaseNo + "From: " + mail.From.ToString + "           " + "To: " + mail.To.ToString + "       " + "subject: " + mail.Subject.ToString + "  Email Sent")
        Console.WriteLine("Email Sent to the address: " + recepient)

        ' Update handback email column
        Updatehandback(CaseNo, "Yes")


        mailcount = mailcount + 1

    Catch ex As Exception
        ex.StackTrace.ToString()
        'objWriter.WriteLine(ex.Message.ToString + " " + ex.InnerException.ToString)
        objWriter.WriteLine(ex.Message.ToString)
        objWriter.WriteLine("Case No: " + CaseNo + "  Email Not Sents")
        ' Update handback email column
        Updatehandback(CaseNo, "No")
    End Try



    ' Check to see if mail count has reached 9 
    If (mailcount = 9) Then
        Console.WriteLine("***************MailCount Exhausted, Re-creating SMTP link******************")
        smtp.Dispose()
        mailcount = 0
        Threading.Thread.Sleep(18000)
        smtp = New SmtpClient("87.101.183.161")
    End If

拜托,任何帮助将不胜感激,因为我已经坚持了一个星期,我已经联系了 SMTP 提供商,他们说一切都已正确配置,他们没有面临任何问题与使用同一 SMTP 服务器发送电子邮件的其他客户端的问题。

此外,SMTP 对象在代码开始之前是一个静态对象,正在被重新使用。

谢谢。

好吧,我通过购买 API 解决了这个问题。如果有人想知道,它来自名为 Mailbee 的 afterlogic,通常可以解决问题。