Отправка на несколько адресов электронной почты, но с отображением только одного C # - PullRequest
5 голосов
/ 10 июля 2010

Я использую SmtpClient в C # и буду отправлять на потенциально сотни адресов электронной почты. Я не хочу перебирать каждый из них и отправлять им отдельные электронные письма.

Я знаю, что можно отправить сообщение только один раз, но я не хочу, чтобы в электронном письме с адреса отображались сотни других адресов электронной почты, например:

Bob Hope; Brain Cant; Roger Rabbit;Etc Etc

Можно ли отправить сообщение один раз и обеспечить отображение только адреса электронной почты получателя в из части сообщения?

Ответы [ 2 ]

11 голосов
/ 10 июля 2010

Вы когда-нибудь слышали о BCC (Blind Carbon Copy)? :)

Если вы можете убедиться, что ваш SMTP-клиент может добавить адреса как BCC, то ваша проблема будет решена:)

В классе MailMessage, похоже, есть элемент слепой копии с копией

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

Вот пример, который я получил от MSDN

public static void CreateBccTestMessage(string server)
        {
            MailAddress from = new MailAddress("ben@contoso.com", "Ben Miller");
            MailAddress to = new MailAddress("jane@contoso.com", "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("manager1@contoso.com");

                //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 голосов
/ 10 июля 2010

Если вы используете класс MailMessage, используйте свойство BCC (Blind Carbon Copy).

MailMessage message = new MailMessage();
MailAddress bcc = new MailAddress("manager1@contoso.com"); 

// Add your email address to BCC
message.Bcc.Add(bcc);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...