2009-10-13 103 views
0

我有一個應用程序工作正常,所有的電子郵件功能工作正常。在.NET中發送電子郵件時出現錯誤

從昨天開始,我開始下面的錯誤

Error Message:Service not available, closing transmission channel. The server response was: 4.3.2 Service not available, closing transmission channel 

sendmail的我VB.net代碼如下:

Public Sub SendMessage(ByVal toAddress As String, ByVal ccAddress As String) 
     Try 
      Dim message As New MailMessage() 
      Dim client As New SmtpClient() 
      'Set the sender's address 
      message.From = New MailAddress(fromAddress) 
      If (toAddress.Trim.Length > 0) Then 
       For Each addr As String In toAddress.Split(";"c) 
        message.To.Add(New MailAddress(addr)) 
       Next 
      End If 
      If (ccAddress.Trim.Length > 0) Then 
       For Each addr As String In ccAddress.Split(";"c) 
        message.CC.Add(New MailAddress(addr)) 
       Next 
      End If 
      message.BodyEncoding = Encoding.UTF8 
      message.Subject = Subject 
      message.Body = Body 
      message.IsBodyHtml = True 
      client.Send(message) 
     Catch ex As Exception 
      ErrorHandler.WriteError(ex.Message) 
     End Try 
    End Sub 

請有什麼建議可以此錯誤背後的原因,做讓我知道如何解決這個問題。

+0

出於好奇:你認爲這個問題是針對VB.NET的嗎?這就是爲什麼你提到VB.NET的主題? – 2009-10-14 01:30:14

回答

1

您的代碼沒有任何問題。錯誤消息的這部分:

4.3.2服務不可用,關閉傳輸通道

實際上是從你的郵件服務器到來,而框架只是傳遞錯誤信息到您的應用程序,並把它扔作爲例外的一部分。

4.x.x錯誤通常是暫時的,並且意味着要重試。通常郵件服務器在發生400錯誤時會被重載。

+0

順便說一句,如果錯誤仍然存​​在,那麼我會檢查你的郵件服務器日誌。郵件服務器有問題,那我會先檢查。 – 2009-10-13 13:40:48

0

檢查你的電子郵件,看它是否開始工作。

取代(或除此之外)smtp認證,某些電子郵件服務器將允許在客戶端計算機檢查POP電子郵件後發送郵件30分鐘(或一段長度)。如果是這種情況,它可以使一個不使用smtp認證的應用程序有時會出現工作,有時不起作用,代碼沒有任何變化。