6

私は C# で SmtpClient を使用しており、潜在的に数百の電子メール アドレスに送信します。それぞれをループして個別のメールを送信する必要はありません。

メッセージを 1 回しか送信できないことはわかっていますが、アドレスからのメールに次のような数百の他のメール アドレスを表示させたくありません。

Bob Hope; Brain Cant; Roger Rabbit;Etc Etc

メッセージを一度送信して、受信者の電子メール アドレスのみが電子メールの送信元部分に表示されるようにすることできますか?

4

2 に答える 2

12

BCC (ブラインド カーボン コピー) について聞いたことがありますか? :)

SMTPクライアントがアドレスをBCCとして追加できることを確認できれば、問題は解決されます:)

MailMessage クラスに Blind Carbon Copy アイテムがあるようです

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() );
          }
        }
于 2010-07-10T16:26:09.573 に答える
3

MailMessage クラスを使用している場合は、BCC (ブラインド カーボン コピー) プロパティを使用します。

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

// Add your email address to BCC
message.Bcc.Add(bcc);
于 2010-07-10T16:33:26.017 に答える