2010-07-10 11 views
5

Ich verwende den SmtpClient in C# und ich werde an potentiell 100 E-Mail-Adressen senden. Ich möchte nicht jeden durchlaufen und ihnen eine individuelle E-Mail senden.Senden an mehrere E-Mail-Adressen, aber Anzeige nur einer C#

ich weiß, ist es möglich, nur ein einziges Mal die Nachricht zu senden, aber ich möchte nicht, die E-Mail-Adresse aus, wie dies die 100s von anderen E-Mail-Adressen anzuzeigen:

Bob Hope; Brain Cant; Roger Rabbit;Etc Etc 

Ist es möglich, die Nachricht senden einmal und sicherstellen, dass nur die E-Mail-Adresse des Empfängers im von Teil der E-Mail angezeigt wird?

Antwort

11

Haben Sie jemals von BCC (Blind Carbon Copy) gehört? :)

Wenn Sie sicherstellen können, dass Ihr SMTP-Client die Adressen hinzufügen können, wie BCC, dann ist dein Problem gelöst werden wird :)

Es scheint eine Blind Carbon Copy Element in der Mailmessage Klasse zu sein

http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx

http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.bcc.aspx

Hier ist eine Probe i von MSDN bekam

public static void CreateBccTestMessage(string server) 
     { 
      MailAddress from = new MailAddress("[email protected]", "Ben Miller"); 
      MailAddress to = new MailAddress("[email protected]", "Jane Clayton"); 
      MailMessage message = new MailMessage(from, to); 
      message.Subject = "Using the SmtpClient class."; 
      message.Body = @"Using this feature, you can send an e-mail message from an application very easily."; 
      MailAddress bcc = new MailAddress("[email protected]"); 

       //This is what you need 
       message.Bcc.Add(bcc); 
       SmtpClient client = new SmtpClient(server); 
       client.Credentials = CredentialCache.DefaultNetworkCredentials; 
       Console.WriteLine("Sending an e-mail message to {0} and {1}.", 
        to.DisplayName, message.Bcc.ToString()); 
      try { 
      client.Send(message); 
      } 
      catch (Exception ex) { 
      Console.WriteLine("Exception caught in CreateBccTestMessage(): {0}", 
         ex.ToString()); 
      } 
     } 
3

Wenn Sie die MailMessage-Klasse verwenden, verwenden Sie die BCC-Eigenschaft (Blind Carbon Copy).

MailMessage message = new MailMessage(); 
MailAddress bcc = new MailAddress("[email protected]"); 

// Add your email address to BCC 
message.Bcc.Add(bcc);