2010-10-09 73 views
0

道歉,因爲我是一個初學者。我想從我的ASP.NET網站發送電子郵件使用下面的代碼(顯然取代與實際值的主機名,用戶名和密碼):嘗試發送電子郵件時出錯

Public Shared Sub Send(ByVal ToEmail As String, ByVal FromEmail As String, ByVal Subject As String, ByVal Message As String) 
    Dim mm As New MailMessage(FromEmail, ToEmail, Subject, Message) 

    Dim smtp As New SmtpClient("hostname") 
    smtp.Credentials = New NetworkCredential("username", "password") 

    smtp.Send(mm) 
End Sub 

當試圖發送出去,我的郵件接收到該錯誤:

「無法讀取從傳輸連接數據:net_io_connectionclosed」

我已經在各種論壇一看,試圖找到一些幫助,這一點,但我真的不知道我應該做的,以recify這一點。

任何幫助將非常感激。謝謝。

+0

我在其他地方發現,做以下操作將解決此問題:這是一個SMTP虛擬服務器問題,加載IIS和*右鍵單擊默認SMTP虛擬服務器。 *將IP地址更改爲全部未分配。我主持名字公司,所以大概我需要與他們取得聯繫並要求他們這樣做?有沒有人發現這是一個解決方案? – Leah 2010-10-09 21:07:54

+0

感謝大家的迴應。我實際上設法通過聯繫Namesco來解決這個問題 - 他們說我需要做的就是改變我放入「本地主機」的主機名,它的工作。 – Leah 2010-10-11 17:34:07

回答

1

感謝大家的響應。我實際上設法通過聯繫Namesco來解決這個問題 - 他們說我需要做的就是改變我放入「本地主機」的主機名,它的工作。

0

你還沒有在你的web.config中設置你的SMTP服務器。

見web.config中的文章Sending Email with System.Net.Mail

您可以在IIS中做到這一點的,但我會建議在應用程序的web.config設置它,開發團隊更容易獲得。

0

基本上你的SMTP服務器阻止你發送郵件的請求。

您可以輕鬆地通過這種打開命令窗口中測試自己,並使用telnet命令來嘗試連接到郵件服務器 - 它會立即把你踢出去。

我以前沒有使用過Namesco,但這個問題是通過添加服務器的IP地址,試圖將郵件發送到在IIS允許的計算機列表解決。

我猜Namesco不會更改設置爲「所有未分配」,因爲這將給予授權任何人發送郵件。

0

添加到您的web.config文件

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]"> 
     <network host="smtp.yourdomain.com" port="25" userName="[email protected]" password="XXXXX" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 

下面的線下面是發送郵件希望代碼這有助於

Dim mMailMessage As New MailMessage() 
     mMailMessage.From = New MailAddress("[email protected]") 
    If Not String.IsNullOrEmpty("[email protected]") Then 
     mMailMessage.ReplyTo = New MailAddress("[email protected]") 
    End If 

    mMailMessage.To.Add(New MailAddress("[email protected]")) 

    mMailMessage.Bcc.Add(New MailAddress("[email protected]")) 

    mMailMessage.CC.Add(New MailAddress("[email protected]")) 

    mMailMessage.Subject = "some subject" 
    mMailMessage.Body = "some body" 

    mMailMessage.IsBodyHtml = False 
    mMailMessage.Priority = MailPriority.Normal 

    Try 
     Dim mSmtpClient As New SmtpClient() 
     mSmtpClient.Send(mMailMessage) 
    Catch ex As SmtpException 
     Debug.Print("Unable to send message " & ex.Message) 
    End Try 
相關問題