参数'from'不能是空字符串。参数名称:from

时间:2014-03-29 17:42:20

标签: asp.net vb.net

好的,基本上我在我的网站上有一个评论表。人们,但评论框中的评论,并将评论通过电子邮件发送到我的电子邮箱。电子邮件部分工作正常,并通过。但是,当我尝试清除表单字段时出现错误。它给我一个错误说:

错误:来自'的参数'不能是一个空字符串。 参数名称:来自

所以任何人都有任何想法?就像我说的那样,电子邮件部分工作得很好,只是清理字段给我带来了麻烦

这是代码:

Imports System.Web.Mail
Imports System.Text

Partial Class Pages_ContactUs : Inherits System.Web.UI.Page

 Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim body As String = "From: " + YourName.Text + " " + Environment.NewLine + "Email: " + YourEmail.Text + Environment.NewLine + Environment.NewLine + "Message: " + Environment.NewLine + Comments.Text

    Dim MM As New System.Net.Mail.SmtpClient
    MM.EnableSsl = True
    MM.Host = "smtp.gmail.com"
    Dim cred As New System.Net.NetworkCredential("myEmail@gmail.com", "myPassword")
    MM.Credentials = cred
    MM.Send(YourEmail.Text, "myEmail@gmail.com", Subject.Text, body)
    ClearFields()
    lblEmail.ForeColor = Drawing.Color.Green
    lblEmail.Text = "Your message has been sent successfuly"
    lblEmail.Visible = True

 End Sub

 Protected Sub ClearFields()
    YourName.Text = ""
    YourEmail.Text = ""
    Comments.Text = ""
    Subject.Text = ""
 End Sub
End Class

1 个答案:

答案 0 :(得分:0)

你必须提供它,只要把它变成你的。基本模式:

Using SmtpServer As New SmtpClient()
  Using mail As New System.Web.Mail.MailMessage()
    Try
      SmtpServer.UseDefaultCredentials = True
      SmtpServer.EnableSsl = True
      SmtpServer.Credentials = New Net.NetworkCredential(un, pw)
      SmtpServer.Port = 25
      SmtpServer.Host = "smtp.address"
      mail.From = New MailAddress(sender)
      mail.To.Add(some address)
      mail.Subject = subject
      mail.Body = body
      mail.Sender = New MailAddress(sender)
      SmtpServer.Send(mail)
    Catch 
    End Try
  End Using
End Using