如何使用asp.net向多个收件人发送电子邮件?

时间:2010-09-29 13:54:49

标签: asp.net email smtp

我有一个适用于一个收件人的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

4 个答案:

答案 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,您就完成了