Asp.net 为什么不是';这不是发送/到达的电子邮件吗?

Asp.net 为什么不是';这不是发送/到达的电子邮件吗?,asp.net,vb.net,visual-studio,visual-studio-2012,Asp.net,Vb.net,Visual Studio,Visual Studio 2012,我是VB新手,但我在网上查找了一些代码片段。这就是我发现的,一切都已编译,电子邮件地址正确,但我得到“服务不可用,关闭传输通道。服务器响应为:(空白)”。 注意:我在那里放了一封假电子邮件 'Check the humanity of the submitter If strhumanity = "Aggies" Then ' Send Email Using message As New MailMessage() me

我是VB新手,但我在网上查找了一些代码片段。这就是我发现的,一切都已编译,电子邮件地址正确,但我得到“服务不可用,关闭传输通道。服务器响应为:(空白)”。 注意:我在那里放了一封假电子邮件

    'Check the humanity of the submitter 
    If strhumanity = "Aggies" Then
        ' Send Email
        Using message As New MailMessage()
            message.From = New MailAddress(ourEmail.ToString())
            message.[To].Add(New MailAddress("sephoroth@yahoo.com"))    'Change back to gerald's email
            message.Subject = "Ecampus Isses"
            message.Body = body
            Dim client As New SmtpClient()
            client.Host = "eforms.tamug.edu"   'Change back
            client.Send(message)
            Server.Transfer("ThankYou.aspx", True)
        End Using

    Else
        Response.Write("You do not seem to be human. Try again.")
        'exit
    End If
可以是:

  • 您的进程未通过邮件服务器的身份验证
  • 端口25未打开

您的SmtpClient()需要类似的东西。 编辑:也需要指定端口

client.Credentials = New Net.NetworkCredential("foo@bar.com", "this_is_a_password")
client.Port = 25

如果
MailMessage
对象上没有
Sender
,有些邮件将无法发送。您还需要在
SmtpClient
对象上指定
端口和
Credencials

SMTP服务器是否需要身份验证?它有允许的服务器的白名单吗?您的服务器在该列表中吗?您正在使用的
应该在smtp客户端上,而不是邮件上。您还没有将凭据传递给该主机,它是允许匿名邮件的内部交换集吗?您还应该在smtp客户端上设置传递方法属性。