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
有您的確認可以訪問您的SMTP服務器上運行該頁面的Web服務器?在Web服務器上,您應該能夠通過端口25遠程登錄到SMTP服務器。如果沒有,請在任一服務器(或兩者之間)上檢查防火牆。另外一些常駐AV軟件可能需要將您的.NET進程列入白名單,以允許其在特定端口上進行通信。 – Sepster
FWIW你的HTML很糟糕。 – tripleee
我從我的電腦本地運行這個應用程序,我試圖使用端口25.我也嘗試將端口切換到587.還嘗試禁用AV並嘗試在與工作時提供的LAN不同的網絡中。我仍然得到相同的錯誤。 –