【发布时间】:2014-07-22 02:24:14
【问题描述】:
我正在尝试使用带有 VB 的 asp.net 发送电子邮件。电子邮件通过公司服务器发送。我有很多来自互联网的建议,但错误总是一样的。 '发送邮件失败'
到目前为止,这是我的代码:
Protected Sub btnSend_Click(sender As Object, e As EventArgs) Handles btnSend.Click
Try
Dim message As New MailMessage()
Dim client As New SmtpClient("blablabla@myHost.com")
message.From = New MailAddress(txtFrom.Text)
message.To.Add(New MailAddress(txtTo.Text))
message.Subject = txtSubject.Text
message.Body = txtMessage.Text
message.IsBodyHtml = True
message.Priority = MailPriority.High
client.Port = 25
client.EnableSsl = True
client.Send(message)
lblInfo.Visible = True
lblInfo.Text = "Your message has been sent"
Catch ex As Exception
lblInfo.Visible = True
lblInfo.Text = ex.Message
End Try
End Sub
这是我的 web.config
<system.net>
<mailSettings>
<smtp deliveryMethod ="Network" from="MyEmailAddress.com">
<network host="localhost" port="25" defaultCredentials ="true" />
</smtp>
</mailSettings>
我已经尝试更改 enableSSL = False,但它仍然给我同样的错误。
提前致谢。
【问题讨论】:
-
AFAIK SmtpClient 应该使用服务器名称或 IP 进行初始化,而不是电子邮件地址。另外,请确保 web.config 中的 from 属性是有效的电子邮件地址格式。
-
您能否检查您的堆栈跟踪并提供更多堆栈信息。你可以通过 ex.StackTrace 获得它。发生这种情况的原因有多种,请参阅以下链接。stackoverflow.com/questions/2209617/…
-
@JensEhrich 假设 smtpclient 是服务器名称。这是我输入的错误。
-
@JalpeshVadgama 我尝试了您的建议并得到以下信息:在 System.Net.Mail.SmtpClient.Send(MailMessage message) at ForEmail.Email.btnSend_Click(Object sender, EventArgs e) in H:\项目 3\ForEmail\ForEmail\Email.aspx.vb:第 36 行
-
@JalpeshVadgama 你知道这是什么意思吗?我认为错误是在 client.send(message)... 我是对的吗?