从ASP.Net发送电子邮件时必须指定收件人错误
我们正在尝试将html字符串的输出发送到特定的测试电子邮件地址,并在运行时发现此错误:从ASP.Net发送电子邮件时必须指定收件人错误,asp.net,vb.net,email,Asp.net,Vb.net,Email,我们正在尝试将html字符串的输出发送到特定的测试电子邮件地址,并在运行时发现此错误: A recipient must be specified. 下面是代码隐藏文件中的编码 Protected Sub EmailTheList() ' Get the rendered HTML. '----------------------- Dim SB As New StringBuilder() Dim SW As New StringWriter(SB)
A recipient must be specified.
下面是代码隐藏文件中的编码
Protected Sub EmailTheList()
' Get the rendered HTML.
'-----------------------
Dim SB As New StringBuilder()
Dim SW As New StringWriter(SB)
Dim htmlTW As New HtmlTextWriter(SW)
GridViewSummary.RenderControl(htmlTW)
' Get the HTML into a string.
' This will be used in the body of the email report.
'---------------------------------------------------
Dim dataGridHTML As String = SB.ToString()
Dim SmtpServer As New SmtpClient()
SmtpServer.Credentials = New Net.NetworkCredential("myEmailAddress@gmail.com", "myPassword")
SmtpServer.Port = 587
SmtpServer.Host = "smtp.gmail.com"
SmtpServer.EnableSsl = True
ObjMailMessage = New MailMessage()
Try
ObjMailMessage.From = New MailAddress("myEmailAddress@gmail.com", "Some text is here.", System.Text.Encoding.UTF8)
ObjMailMessage.Subject = "Test message from Emad"
ObjMailMessage.ReplyToList.Add("john.doe@example.com")
ObjMailMessage.Body = dataGridHTML
ObjMailMessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure
SmtpServer.Send(ObjMailMessage)
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
我们怀疑这一行没有使用正确的语法:
ObjMailMessage.From = ObjMailMessage.ReplyToList.Add("john.doe@example.com")
您缺少收件人:地址,这导致有关收件人的错误
ObjMailMessage.To.Add(New MailAddress("mail@somemail.com", "An error happened", System.Text.Encoding.UTF8))
参考资料:谢谢您的快速回复。我尝试了ObjMailMessage.To=新邮件地址(“mail@somemail.com“,”发生了一个错误“,System.Text.Encoding.UTF8),但出现了一个错误:属性“To”是“ReadOnly”。很抱歉,To:属性是一个集合。我更新了答案-您应该可以向集合中添加新的邮件地址。这是一个奇怪的错误,因为我设置了密件抄送列表。我想只有“To”被认为是规范的。