错误发送电子邮件:在邮件标题中找到了无效字符:';'

时间:2014-07-24 04:51:07

标签: c# asp.net vb.net email

我正在尝试创建一个发送电子邮件应用,但发现了一些错误。电子邮件将使用gridview内的复选框发送给某个收件人。 条件是:

  

如果coulmn 16中的电子邮件不为空,则电子邮件将直接发送。 - >这已经有效了

     

如果第16列中的电子邮件为空,则电子邮件将在第17列中发送给收件人。 - >这部分会引发错误。

这是我发送邮件的代码:

Dim X As Integer
    For X = 0 To GridView1.Rows.Count - 1
        Dim chkBox As CheckBox = CType(GridView1.Rows(X).Cells(18).Controls(1), CheckBox)
        If chkBox.Checked = True Then
Dim email2 As String
            If GridView1.Rows(X).Cells(16).Text <> "" Then
                email2 = Trim(GridView1.Rows(X).Cells(16).Text)
            Else
                email2 = Trim(GridView1.Rows(X).Cells(17).Text)
            End If
            Try
                Dim EmailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage
                EmailMessage.From = New MailAddress("mailaddress.bla.com")
                EmailMessage.To.Add(email2)
                EmailMessage.Subject = "Attire Request"
                EmailMessage.IsBodyHtml = True
                Dim link As String = "some link"
                EmailMessage.Body = "Please login by Using this link <a href=""" & link & """>Click here </a>"

                Dim smtp As New SmtpClient(Server2)
                Dim basicAuthenticationInfo As New System.Net.NetworkCredential(Username2, Password2)
                smtp.Credentials = basicAuthenticationInfo
                smtp.Send(EmailMessage)

            Catch ex As Exception
                ' lblError.Text = lblError.Text & ex.Message & " " & ex.InnerException.ToString
                lblError.Text = ex.Message
                lblError.Visible = True
            End Try

它会抛出错误:在邮件标题中找到了无效字符:';'。 你有任何建议如何解决这个问题。 编辑:循环代码

感谢您的进步。

1 个答案:

答案 0 :(得分:1)

按如下方式更改if-else语句:

If GridView1.Rows(x).Cells(16).Value.ToString <> "" Then
email2 = Trim(GridView1.Rows(x).Cells(16).Value.ToString)
Else
email2 = Trim(GridView1.Rows(x).Cells(17).Value.ToString)
End If

注意: - 在X的值的基础上选择行;循环可用于单击选择多行

Screen shot of my execution of the above code