2010-09-29 12 views
4

J'ai une fonction sendmail qui fonctionne pour un destinataire. Si je transmets quelque chose comme "[email protected]; [email protected]" dans ToEmail, j'obtiens une erreur qui indique; non autorisé dans l'en-tête du message. Qu'est-ce que je fais mal?Comment envoyer un email à plusieurs destinataires en utilisant asp.net?

Voici ma fonction 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 

Répondre

6

Les adresses doivent être séparées par des virgules, non-virgules.

+0

+1 Je souhaite avoir posté cette réponse avant de faire une double vérification :). – GenericTypeTea

+0

Cela a fonctionné parfaitement, merci! – user372234

0

changer votre toEmail de chaîne à MailAddressCollection et vous êtes fait

5

Vous devez utiliser la propriété To qui est MailAddressCollection et appeler la méthode Add() pour ajouter les adresses électroniques individuellement.

Si vous transmettez vos adresses e-mail dans votre fonction sous la forme d'une liste séparée par des points-virgules, effectuez simplement un String.Split() et ajoutez-les dans la propriété To dans une boucle d'itération.

Questions connexes