我遇到了一个问题,我发布了一个批量发送电子邮件的应用程序。采取的步骤如下所述:
我面临的问题是,在第3批之后,我开始面临很多来自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对象在代码开始之前是一个静态对象,并且正在重新使用。
感谢。
答案 0 :(得分:0)
我通过购买API解决了这个问题。如果有人想知道,它来自postlogic,叫做Mailbee,那通常解决了这个问题。