我正在尝试创建一个发送电子邮件应用,但发现了一些错误。电子邮件将使用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
它会抛出错误:在邮件标题中找到了无效字符:';'。 你有任何建议如何解决这个问题。 编辑:循环代码
感谢您的进步。
答案 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的值的基础上选择行;循环可用于单击选择多行