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不同的网络中。我仍然得到相同的错误。 –