【问题标题】:How do I send an email to multiple recipients using asp.net?如何使用 asp.net 向多个收件人发送电子邮件?
【发布时间】:2011-04-18 20:20:21
【问题描述】:

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

【问题讨论】:

    标签: asp.net email smtp


    【解决方案1】:

    我会推荐使用 MailMergeLib
    http://www.codeproject.com/KB/IP/MailMergeLib.aspx

    它还修复了 .NET 邮件类中的一系列错误。

    【讨论】:

      【解决方案2】:

      您需要使用To 属性,即MailAddressCollection,并调用Add() 方法单独添加电子邮件地址。

      如果您将电子邮件地址作为分号分隔列表传递到函数中,则只需对它们执行 String.Split(),然后在迭代循环中将它们添加到 To 属性中。

      【讨论】:

        【解决方案3】:

        地址需要用逗号分隔,而不是分号。

        【讨论】:

        • +1 希望我在仔细检查之前先发布了这个答案:)。
        【解决方案4】:

        将你的 toEmail 从字符串更改为MailAddressCollection,你就完成了

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-03-01
          • 2012-05-18
          • 1970-01-01
          • 1970-01-01
          • 2019-04-22
          • 2014-06-22
          相关资源
          最近更新 更多