我有一个适用于一个收件人的sendmail功能。如果我在ToEmail中传递类似“email1@test.com; email2@test.com”的内容,则会收到错误消息;邮件标题中不允许。我做错了什么?
这是我的SendMail功能:
Public Function SendMail(ByVal ToEmail As String, ByVal FromEmail As String, ByVal Subject As String, ByVal Body As String, Optional ByVal bccEmail As String = "", Optional ByVal bIsHTML As Boolean = False) As Boolean
Try
Dim msgMail As New MailMessage(FromEmail, ToEmail, Subject, Body)
msgMail.IsBodyHtml = bIsHTML
If bccEmail <> "" Then
msgMail.Bcc.Add(bccEmail)
End If
Dim smtp As New SmtpClient
smtp.Host = "myServer"
smtp.Send(msgMail)
SendMail = True
Catch ex As Exception
DoTrace(ex.Source, ex.Message)
SendMail = False
End Try
End Function
答案 0 :(得分:6)
地址需要用逗号分隔,而不是用分号分隔。
答案 1 :(得分:5)
您需要使用To
MailAddressCollection
属性,并调用Add()
方法单独添加电子邮件地址。
如果您将电子邮件地址作为分号分隔列表传递给函数,那么只需对它们执行String.Split()
,然后在迭代循环中将它们添加到To
属性中。
答案 2 :(得分:1)
我建议使用MailMergeLib
http://www.codeproject.com/KB/IP/MailMergeLib.aspx
它还修复了.NET邮件类中的一堆错误。
答案 3 :(得分:0)
将您的toEmail从字符串更改为MailAddressCollection
,您就完成了