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

回答

相关问题