2012-09-26 49 views
0

我有一個.NET Web應用程序想要使用SendGrid smtp服務器發送電子郵件。無法使用SendGrid從.NET Web應用程序發送電子郵件

它是一個簡單的單頁應用程序,其代碼爲Page_Load。我已經通過Nu-Get將引用導入SendGrid,引用也沒問題。 代碼在達到一段時間後會發生超時錯誤 - transportSMTP.Deliver(myMessage)。 有人可以幫忙嗎?

Imports System.Net 
Imports System.Net.Mail 
Imports SendGridMail 
Imports SendGridMail.Transport 

Public Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     'Creating Email object for SendGrid 
     Dim myMessage As SendGrid = SendGrid.GenerateInstance() 
     myMessage.AddTo("[email protected]") 
     myMessage.From = New MailAddress("[email protected]", "Vikram Avadhaani") 
     myMessage.Subject = "Testing the SendGrid Library" 
     myMessage.Text = "<p>Show's over Amigo!</p> <br/> It ain't over, 'till its over!" 

     'Create Credentials with UserName and Password 
     Dim mailCredentials = New NetworkCredential("<user id>", "<password>") 

     'Creating an SMTP Transport for sending email 
     Dim transportSMTP As SMTP = SMTP.GenerateInstance(mailCredentials) 'SMTP 
     Dim transportREST As REST = REST.GetInstance(mailCredentials)  'REST 

     'Send the email 
     transportSMTP.Deliver(myMessage) 
     'transportREST.Deliver(myMessage) 
    End Sub 

End Class 
+0

有您的確認可以訪問您的SMTP服務器上運行該頁面的Web服務器?在Web服務器上,您應該能夠通過端口25遠程登錄到SMTP服務器。如果沒有,請在任一服務器(或兩者之間)上檢查防火牆。另外一些常駐AV軟件可能需要將您的.NET進程列入白名單,以允許其在特定端口上進行通信。 – Sepster

+0

FWIW你的HTML很糟糕。 – tripleee

+0

我從我的電腦本地運行這個應用程序,我試圖使用端口25.我也嘗試將端口切換到587.還嘗試禁用AV並嘗試在與工作時提供的LAN不同的網絡中。我仍然得到相同的錯誤。 –

回答

相關問題